Indications for Sponsored Content Items Within Media Items

ABSTRACT

In one embodiment, a method includes sending a media item to a client computing device of a user; determining an interest level of the user for the media item, wherein the interest level is determined based on a duration of time for which the media item is played on the client computing device; and if the interest level of the user is greater than a threshold interest level, then sending, to the client computing device, a sponsored-content indicator indicating that a sponsored content item will be presented and causing the sponsored content item to be presented on the client computing device.

PRIORITY

This application claims the benefit, under 35 U.S.C. § 119(e), of U.S.Provisional Patent Application No. 62/455,006, filed 6 Feb. 2017, whichis incorporated herein by reference.

TECHNICAL FIELD

This disclosure generally relates to advertisements (alsointerchangeably referred to herein as sponsored content items) within asocial-networking environment.

BACKGROUND

A social-networking system, which may include a social-networkingwebsite, may enable its users (such as persons or organizations) tointeract with it and with each other through it. The social-networkingsystem may, with input from a user, create and store in thesocial-networking system a user profile associated with the user. Theuser profile may include demographic information, communication-channelinformation, and information on personal interests of the user. Thesocial-networking system may also, with input from a user, create andstore a record of relationships of the user with other users of thesocial-networking system, as well as provide services (e.g. wall posts,photo-sharing, event organization, messaging, games, or advertisements)to facilitate social interaction between or among users.

The social-networking system may send over one or more networks contentor messages related to its services to a mobile or other computingdevice of a user. A user may also install software applications on amobile or other computing device of the user for accessing a userprofile of the user and other data within the social-networking system.The social-networking system may generate a personalized set of contentobjects to display to a user, such as a newsfeed of aggregated storiesof other users connected to the user.

Social-graph analysis views social relationships in terms of networktheory consisting of nodes and edges. Nodes represent the individualactors within the networks, and edges represent the relationshipsbetween the actors. The resulting graph-based structures are often verycomplex. There can be many types of nodes and many types of edges forconnecting nodes. In its simplest form, a social graph is a map of allof the relevant edges between all the nodes being studied.

SUMMARY OF PARTICULAR EMBODIMENTS

In particular embodiments, a server computing machine may send a mediaitem to a client computing device of a user. The term “media item” asused herein refers to any content item that may be consumed by the user(e.g., a 2D video/photo, a 360-video/photo, an audio file, a slide deck,an interactive content item such as a game, etc.). The media item may berendered for the user at the client computing device. In particularembodiments, the server computing machine may determine an interestlevel of the user for the media item. The interest level may bedetermined based on any number of suitable factors. As an example andnot by way of limitation, the interest level may be based on a durationof time for which the media item is played on the client computingdevice. In particular embodiments, if the interest level of the user isgreater than a threshold interest level, the server computing machinemay send, to the client computing device, a sponsored-content indicatorindicating that a sponsored content item will be presented. As anexample and not by way of limitation, the indicator may be auser-interface element that displays a countdown (numerically orgraphically) to the time-point at which the sponsored content item willbe presented. In particular embodiments, the sponsored content item maybe presented on the client computing device (e.g., at the end of acountdown of the indicator).

There are many advantages of not presenting sponsored content items (orindications of their existence) to a user during the playback of mediaitems until it is determined that the user has sufficient interest inthe media item (and/or has a sufficient affinity for the sponsoredcontent items). For example, users may tend to be annoyed if they arepresented with sponsored content items initially before they have had achance to discover what the media item has to offer, or before they havegained sufficient interest in the media item. The user may be engaged ina process of discovery, browsing through media items that may be ofinterest, and subjecting the user to presentations of sponsored contentitems at this stage may contribute to a negative user experience. Eventhe knowledge that a media item contains a number of sponsored contentitems before this point may be annoying to users. As a result, users maybe dissuaded from engaging with media items, causing them to misscontent that they may otherwise have found valuable. In the aggregate,there may be a significant decrease in media-item consumption, which maybe a net loss for users interested in consuming media items, contentcreators/publishers, content-hosting platforms, and sponsoring entitiesor users. By waiting until it is determined that a user is interested inthe media item before presenting sponsored content items or indicatorsof sponsored content items, consumption of media items may beencouraged. Additionally, by waiting until the user is sufficientlyinterested in the media item, it may be more likely that the user staysinterested enough to consume the sponsored content item and alsocontinue with the media item past the presentation of the sponsoredcontent item. The methods described herein cause sponsored content items(and indicators of the presence and locations of those sponsored contentitems) to not be presented to a user accessing a media item until it hasbeen determined that the user is sufficiently interested in the mediaitem. As will be described, one method of causing sponsored contentitems to not be presented involves preventing or suppressing thetransmission of sponsored content items. Several technical advantagesare contemplated by not sending sponsored content items until asufficient interest level is determined. As an example and not by way oflimitation, there may be savings in network bandwidth usage, server-sideprocessing power involved in transmitting the sponsored content item,client-side processing power involved in loading or rendering thesponsored content item, and there may be a perceptible decrease in theamount of time it takes to load media items. These advantages may resultfrom fewer sponsored content items being sent, loaded, and rendered permedia item. As an example and not by way of limitation, for media itemsthat the user is not sufficiently interested in such that the user wouldjust scroll away rather than pay attention to a sponsored content item,the sponsored content item may not be sent.

In particular embodiments, a server computing machine (e.g., asocial-networking system) may render a feed (e.g., a newsfeed) of anonline social network on a client computing device (e.g., a clientsystem). The newsfeed of the online social network may include aplurality of media items. In particular embodiments, a media item may beeither a pre-recorded or pre-generated media item (e.g., a pre-recordedvideo) or may be a live-stream (e.g., a live-streaming video). The mediaitems may be arranged from top to bottom in the newsfeed and may beaccessed by transitioning (e.g., scrolling) through the newsfeed. Theuser may view a media item on his client computing device. When the userhas viewed the media item for a certain duration of time, the servercomputing machine may send a sponsored content item (e.g., a videoadvertisement, a commercial, etc.) for display on the client computingdevice. The user may continue to watch the sponsored content item ortransition (e.g., scroll up/down) to watch another media item in thenewsfeed. When the user decides to watch another media item, the servercomputing machine may pause the sponsored content item from playing. Theserver computing machine may resume the playback of the paused sponsoredcontent item when the user returns to view the media item with which thesponsored content item is associated. The server computing machine mayresume the playback from the same time from where the user left off. Forexample, if the user left off watching a commercial at the tenth second,then the server computing machine may resume the playback from the tenthsecond of the commercial.

In particular embodiments, a server computing machine (e.g., asocial-networking system) may provide an interface operable to permit afirst user to broadcast a live video to one or more client systems (orclient computing devices) of one or more second users. In response toreceiving an indication that the first user, while broadcasting the livevideo, selected an option within the interface to display a sponsoredcontent item, the server computing machine may start loading thesponsored content item to the one or more client systems while thebroadcasting of live video is still ongoing. While loading the sponsoredcontent item to the one or more client systems of one or more secondusers, the server computing machine may inform the first user (such asvia the interface) that loading of the sponsored content item is ongoingeven while the broadcast of the live video is active. After loading thesponsored content item to the one or more client systems, the servercomputing machine may inform the one or more second users that thesponsored content item will soon be displayed.

In particular embodiments, a server computing machine (e.g., asocial-networking system) may provide an interface operable to permit afirst user to broadcast a live video to one or more second users. Inresponse to the server computing machine receiving an indication thatthe first user selected an option within the interface to display asponsored content item while broadcasting the live video, the servercomputing machine may reduce the image size of the live video, andsuperimpose the sponsored content item on the live video of reduced sizeto define a combined image. The combined image may have a sponsoredportion on which the sponsored content item is displayed and a liveportion on which the live video of reduced size is displayed. The servercomputing machine may then send the combined image for display to theone or more second users, by which the second users may simultaneouslyreceive the sponsored content item and the broadcast of the live video.

The embodiments disclosed herein are only examples, and the scope ofthis disclosure is not limited to them. Particular embodiments mayinclude all, some, or none of the components, elements, features,functions, operations, or steps of the embodiments disclosed above.Embodiments according to the invention are in particular disclosed inthe attached claims directed to a method, a storage medium, a system anda computer program product, wherein any feature mentioned in one claimcategory, e.g. method, can be claimed in another claim category, e.g.system, as well. The dependencies or references back in the attachedclaims are chosen for formal reasons only. However any subject matterresulting from a deliberate reference back to any previous claims (inparticular multiple dependencies) can be claimed as well, so that anycombination of claims and the features thereof are disclosed and can beclaimed regardless of the dependencies chosen in the attached claims.The subject-matter which can be claimed comprises not only thecombinations of features as set out in the attached claims but also anyother combination of features in the claims, wherein each featurementioned in the claims can be combined with any other feature orcombination of other features in the claims. Furthermore, any of theembodiments and features described or depicted herein can be claimed ina separate claim and/or in any combination with any embodiment orfeature described or depicted herein or with any of the features of theattached claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example network environment associated with asocial-networking system.

FIG. 2 illustrates an example social graph.

FIG. 3A illustrates an example interface of an online social networkwithin which a media item is rendered.

FIGS. 3B-3C illustrate example interfaces of an online social network inwhich a sponsored-content indicator is rendered.

FIGS. 3D-3E illustrate example interfaces of an online social networkwithin which a sponsored content item is presented.

FIG. 4A illustrates an example of a full-screen display of a media item.

FIG. 4B illustrates an example of a full-screen display of a media itemwith a sponsored-content indicator.

FIG. 4C illustrates an example of a full-screen display of a sponsoredcontent item with a returning-content indicator.

FIG. 5 illustrates an example media-item channel interface.

FIG. 6 illustrates an example method for determining when to present asponsored content item during playback of a media item.

FIGS. 7A-7D are example graphical user interfaces illustrating anexample newsfeed with media items in which a sponsored content itemassociated with a media item is paused when a user performs a transition(e.g., a scroll action).

FIG. 8 is a flowchart of an example method for pausing a sponsoredcontent item from playing when a user performs a scroll.

FIG. 9A illustrates a view of a broadcaster interface while broadcastinga live video and prior to electing to send a sponsored content item toviewers of the live video.

FIG. 9B illustrates a view of a broadcaster interface after electing tosend a sponsored content item to viewers, but prior to choosing amongmultiple content-types of sponsored content items.

FIG. 10 illustrates a view of a viewer interface while receiving livevideo and prior to receiving a sponsored content item.

FIGS. 11A-11C illustrate various views of a broadcaster interface thatmay be associated with choosing to pause the live broadcast and send afirst content-type of sponsored content item that includesaudio-and-video components.

FIGS. 12A-12G illustrate various views of a viewer interface that may beassociated with receiving a sponsored content item while the live videobroadcast is paused.

FIG. 13 illustrates an example method for preloading sponsored contentitems to multiple viewers during a live video broadcast for coincidentdisplaying of the sponsored content items to the multiple viewers.

FIGS. 14A-14D illustrate various views of a viewer user interface thatmay be associated with rendering received live video broadcasts andreceived sponsored content items substantially simultaneously.

FIGS. 15A-15B illustrate views of a broadcaster interface that may beassociated with rendering received live video broadcasts and receivedsponsored content items substantially simultaneously.

FIG. 16 illustrates an example method for providing sponsored contentitems during live videos without interrupting the live videos.

FIG. 17 illustrates an example computer system.

DESCRIPTION OF EXAMPLE EMBODIMENTS

FIG. 1 illustrates an example network environment 100 associated with asocial-networking system. Network environment 100 includes a clientsystem 130, a social-networking system 160, and a third-party system 170connected to each other by a network 110. Although FIG. 1 illustrates aparticular arrangement of a client system 130, a social-networkingsystem 160, a third-party system 170, and a network 110, this disclosurecontemplates any suitable arrangement of a client system 130, asocial-networking system 160, a third-party system 170, and a network110. As an example and not by way of limitation, two or more of a clientsystem 130, a social-networking system 160, and a third-party system 170may be connected to each other directly, bypassing a network 110. Asanother example, two or more of a client system 130, a social-networkingsystem 160, and a third-party system 170 may be physically or logicallyco-located with each other in whole or in part. Moreover, although FIG.1 illustrates a particular number of client systems 130,social-networking systems 160, third-party systems 170, and networks110, this disclosure contemplates any suitable number of client systems130, social-networking systems 160, third-party systems 170, andnetworks 110. As an example and not by way of limitation, networkenvironment 100 may include multiple client systems 130,social-networking systems 160, third-party systems 170, and networks110.

This disclosure contemplates any suitable network 110. As an example andnot by way of limitation, one or more portions of a network 110 mayinclude an ad hoc network, an intranet, an extranet, a virtual privatenetwork (VPN), a local area network (LAN), a wireless LAN (WLAN), a widearea network (WAN), a wireless WAN (WWAN), a metropolitan area network(MAN), a portion of the Internet, a portion of the Public SwitchedTelephone Network (PSTN), a cellular telephone network, or a combinationof two or more of these. A network 110 may include one or more networks110.

Links 150 may connect a client system 130, a social-networking system160, and a third-party system 170 to a communication network 110 or toeach other. This disclosure contemplates any suitable links 150. Inparticular embodiments, one or more links 150 include one or morewireline (such as for example Digital Subscriber Line (DSL) or Data OverCable Service Interface Specification (DOC SIS)), wireless (such as forexample Wi-Fi or Worldwide Interoperability for Microwave Access(WiMAX)), or optical (such as for example Synchronous Optical Network(SONET) or Synchronous Digital Hierarchy (SDH)) links. In particularembodiments, one or more links 150 each include an ad hoc network, anintranet, an extranet, a VPN, a LAN, a WLAN, a WAN, a WWAN, a MAN, aportion of the Internet, a portion of the PSTN, a cellulartechnology-based network, a satellite communications technology-basednetwork, another link 150, or a combination of two or more such links150. Links 150 need not necessarily be the same throughout a networkenvironment 100. One or more first links 150 may differ in one or morerespects from one or more second links 150.

In particular embodiments, a client system 130 may be an electronicdevice including hardware, software, or embedded logic components or acombination of two or more such components and capable of carrying outthe appropriate functionalities implemented or supported by a clientsystem 130. As an example and not by way of limitation, a client system130 may include a computer system such as a desktop computer, notebookor laptop computer, netbook, a tablet computer, e-book reader, GPSdevice, camera, personal digital assistant (PDA), handheld electronicdevice, cellular telephone, smartphone, other suitable electronicdevice, or any suitable combination thereof. This disclosurecontemplates any suitable client systems 130. A client system 130 mayenable a network user at a client system 130 to access a network 110. Aclient system 130 may enable its user to communicate with other users atother client systems 130.

In particular embodiments, a client system 130 may include a web browser132, such as MICROSOFT INTERNET EXPLORER, GOOGLE CHROME or MOZILLAFIREFOX, and may have one or more add-ons, plug-ins, or otherextensions, such as TOOLBAR or YAHOO TOOLBAR. A user at a client system130 may enter a Uniform Resource Locator (URL) or other addressdirecting a web browser 132 to a particular server (such as server 162,or a server associated with a third-party system 170), and the webbrowser 132 may generate a Hyper Text Transfer Protocol (HTTP) requestand communicate the HTTP request to server. The server may accept theHTTP request and communicate to a client system 130 one or more HyperText Markup Language (HTML) files responsive to the HTTP request. Theclient system 130 may render a web interface (e.g. a webpage) based onthe HTML files from the server for presentation to the user. Thisdisclosure contemplates any suitable source files. As an example and notby way of limitation, a web interface may be rendered from HTML files,Extensible Hyper Text Markup Language (XHTML) files, or ExtensibleMarkup Language (XML) files, according to particular needs. Suchinterfaces may also execute scripts such as, for example and withoutlimitation, those written in JAVASCRIPT, JAVA, MICROSOFT SILVERLIGHT,combinations of markup language and scripts such as AJAX (AsynchronousJAVASCRIPT and XML), and the like. Herein, reference to a web interfaceencompasses one or more corresponding source files (which a browser mayuse to render the web interface) and vice versa, where appropriate.

In particular embodiments, the social-networking system 160 may be anetwork-addressable computing system that can host an online socialnetwork. The social-networking system 160 may generate, store, receive,and send social-networking data, such as, for example, user-profiledata, concept-profile data, social-graph information, or other suitabledata related to the online social network. The social-networking system160 may be accessed by the other components of network environment 100either directly or via a network 110. As an example and not by way oflimitation, a client system 130 may access the social-networking system160 using a web browser 132, or a native application associated with thesocial-networking system 160 (e.g., a mobile social-networkingapplication, a messaging application, another suitable application, orany combination thereof) either directly or via a network 110. Inparticular embodiments, the social-networking system 160 may include oneor more servers 162. Each server 162 may be a unitary server or adistributed server spanning multiple computers or multiple datacenters.Servers 162 may be of various types, such as, for example and withoutlimitation, web server, news server, mail server, message server,advertising server, file server, application server, exchange server,database server, proxy server, another server suitable for performingfunctions or processes described herein, or any combination thereof. Inparticular embodiments, each server 162 may include hardware, software,or embedded logic components or a combination of two or more suchcomponents for carrying out the appropriate functionalities implementedor supported by server 162. In particular embodiments, thesocial-networking system 160 may include one or more data stores 164.Data stores 164 may be used to store various types of information. Inparticular embodiments, the information stored in data stores 164 may beorganized according to specific data structures. In particularembodiments, each data store 164 may be a relational, columnar,correlation, or other suitable database. Although this disclosuredescribes or illustrates particular types of databases, this disclosurecontemplates any suitable types of databases. Particular embodiments mayprovide interfaces that enable a client system 130, a social-networkingsystem 160, or a third-party system 170 to manage, retrieve, modify,add, or delete, the information stored in data store 164.

In particular embodiments, the social-networking system 160 may storeone or more social graphs in one or more data stores 164. In particularembodiments, a social graph may include multiple nodes—which may includemultiple user nodes (each corresponding to a particular user) ormultiple concept nodes (each corresponding to a particular concept)—andmultiple edges connecting the nodes. The social-networking system 160may provide users of the online social network the ability tocommunicate and interact with other users. In particular embodiments,users may join the online social network via the social-networkingsystem 160 and then add connections (e.g., relationships) to a number ofother users of the social-networking system 160 whom they want to beconnected to. Herein, the term “friend” may refer to any other user ofthe social-networking system 160 with whom a user has formed aconnection, association, or relationship via the social-networkingsystem 160.

In particular embodiments, the social-networking system 160 may provideusers with the ability to take actions on various types of items orobjects, supported by the social-networking system 160. As an exampleand not by way of limitation, the items and objects may include groupsor social networks to which users of the social-networking system 160may belong, events or calendar entries in which a user might beinterested, computer-based applications that a user may use,transactions that allow users to buy or sell items via the service,interactions with advertisements that a user may perform, or othersuitable items or objects. A user may interact with anything that iscapable of being represented in the social-networking system 160 or byan external system of a third-party system 170, which is separate fromthe social-networking system 160 and coupled to the social-networkingsystem 160 via a network 110.

In particular embodiments, the social-networking system 160 may becapable of linking a variety of entities. As an example and not by wayof limitation, the social-networking system 160 may enable users tointeract with each other as well as receive content from third-partysystems 170 or other entities, or to allow users to interact with theseentities through an application programming interfaces (API) or othercommunication channels.

In particular embodiments, a third-party system 170 may include one ormore types of servers, one or more data stores, one or more interfaces,including but not limited to APIs, one or more web services, one or morecontent sources, one or more networks, or any other suitable components,e.g., that servers may communicate with. A third-party system 170 may beoperated by a different entity from an entity operating thesocial-networking system 160. In particular embodiments, however, thesocial-networking system 160 and third-party systems 170 may operate inconjunction with each other to provide social-networking services tousers of the social-networking system 160 or third-party systems 170. Inthis sense, the social-networking system 160 may provide a platform, orbackbone, which other systems, such as third-party systems 170, may useto provide social-networking services and functionality to users acrossthe Internet.

In particular embodiments, a third-party system 170 may include athird-party content object provider. A third-party content objectprovider may include one or more sources of content objects, which maybe communicated to a client system 130. As an example and not by way oflimitation, content objects may include information regarding things oractivities of interest to the user, such as, for example, movie showtimes, movie reviews, restaurant reviews, restaurant menus, productinformation and reviews, or other suitable information. As anotherexample and not by way of limitation, content objects may includeincentive content objects, such as coupons, discount tickets, giftcertificates, or other suitable incentive objects.

In particular embodiments, the social-networking system 160 alsoincludes user-generated content objects, which may enhance a user'sinteractions with the social-networking system 160. User-generatedcontent may include anything a user can add, upload, send, or “post” tothe social-networking system 160. As an example and not by way oflimitation, a user communicates posts to the social-networking system160 from a client system 130. Posts may include data such as statusupdates or other textual data, location information, photos, videos,links, music or other similar data or media. Content may also be addedto the social-networking system 160 by a third-party through a“communication channel,” such as a newsfeed or stream.

In particular embodiments, the social-networking system 160 may includea variety of servers, sub-systems, programs, modules, logs, and datastores. In particular embodiments, the social-networking system 160 mayinclude one or more of the following: a web server, action logger,API-request server, relevance-and-ranking engine, content-objectclassifier, notification controller, action log,third-party-content-object-exposure log, inference module,authorization/privacy server, search module, advertisement-targetingmodule, user-interface module, user-profile store, connection store,third-party content store, or location store. The social-networkingsystem 160 may also include suitable components such as networkinterfaces, security mechanisms, load balancers, failover servers,management-and-network-operations consoles, other suitable components,or any suitable combination thereof. In particular embodiments, thesocial-networking system 160 may include one or more user-profile storesfor storing user profiles. A user profile may include, for example,biographic information, demographic information, behavioral information,social information, or other types of descriptive information, such aswork experience, educational history, hobbies or preferences, interests,affinities, or location. Interest information may include interestsrelated to one or more categories. Categories may be general orspecific. As an example and not by way of limitation, if a user “likes”an article about a brand of shoes the category may be the brand, or thegeneral category of “shoes” or “clothing.” A connection store may beused for storing connection information about users. The connectioninformation may indicate users who have similar or common workexperience, group memberships, hobbies, educational history, or are inany way related or share common attributes. The connection informationmay also include user-defined connections between different users andcontent (both internal and external). A web server may be used forlinking the social-networking system 160 to one or more client systems130 or one or more third-party systems 170 via a network 110. The webserver may include a mail server or other messaging functionality forreceiving and routing messages between the social-networking system 160and one or more client systems 130. An API-request server may allow athird-party system 170 to access information from the social-networkingsystem 160 by calling one or more APIs. An action logger may be used toreceive communications from a web server about a user's actions on oroff the social-networking system 160. In conjunction with the actionlog, a third-party-content-object log may be maintained of userexposures to third-party-content objects. A notification controller mayprovide information regarding content objects to a client system 130.Information may be pushed to a client system 130 as notifications, orinformation may be pulled from a client system 130 responsive to arequest received from a client system 130. Authorization servers may beused to enforce one or more privacy settings of the users of thesocial-networking system 160. A privacy setting of a user determines howparticular information associated with a user can be shared. Theauthorization server may allow users to opt in to or opt out of havingtheir actions logged by the social-networking system 160 or shared withother systems (e.g., a third-party system 170), such as, for example, bysetting appropriate privacy settings. Third-party-content-object storesmay be used to store content objects received from third parties, suchas a third-party system 170. Location stores may be used for storinglocation information received from client systems 130 associated withusers. Advertisement-pricing modules may combine social information, thecurrent time, location information, or other suitable information toprovide relevant advertisements, in the form of notifications, to auser.

FIG. 2 illustrates an example social graph 200. In particularembodiments, the social-networking system 160 may store one or moresocial graphs 200 in one or more data stores. In particular embodiments,the social graph 200 may include multiple nodes—which may includemultiple user nodes 202 or multiple concept nodes 204—and multiple edges206 connecting the nodes. The example social graph 200 illustrated inFIG. 2 is shown, for didactic purposes, in a two-dimensional visual maprepresentation. In particular embodiments, a social-networking system160, a client system 130, or a third-party system 170 may access thesocial graph 200 and related social-graph information for suitableapplications. The nodes and edges of the social graph 200 may be storedas data objects, for example, in a data store (such as a social-graphdatabase). Such a data store may include one or more searchable orqueryable indexes of nodes or edges of the social graph 200.

In particular embodiments, a user node 202 may correspond to a user ofthe social-networking system 160. As an example and not by way oflimitation, a user may be an individual (human user), an entity (e.g.,an enterprise, business, or third-party application), or a group (e.g.,of individuals or entities) that interacts or communicates with or overthe social-networking system 160. In particular embodiments, when a userregisters for an account with the social-networking system 160, thesocial-networking system 160 may create a user node 202 corresponding tothe user, and store the user node 202 in one or more data stores. Usersand user nodes 202 described herein may, where appropriate, refer toregistered users and user nodes 202 associated with registered users. Inaddition or as an alternative, users and user nodes 202 described hereinmay, where appropriate, refer to users that have not registered with thesocial-networking system 160. In particular embodiments, a user node 202may be associated with information provided by a user or informationgathered by various systems, including the social-networking system 160.As an example and not by way of limitation, a user may provide his orher name, profile picture, contact information, birth date, sex, maritalstatus, family status, employment, education background, preferences,interests, or other demographic information. In particular embodiments,a user node 202 may be associated with one or more data objectscorresponding to information associated with a user. In particularembodiments, a user node 202 may correspond to one or more webinterfaces.

In particular embodiments, a concept node 204 may correspond to aconcept. As an example and not by way of limitation, a concept maycorrespond to a place (such as, for example, a movie theater,restaurant, landmark, or city); a website (such as, for example, awebsite associated with the social-networking system 160 or athird-party website associated with a web-application server); an entity(such as, for example, a person, business, group, sports team, orcelebrity); a resource (such as, for example, an audio file, video file,digital photo, text file, structured document, or application) which maybe located within the social-networking system 160 or on an externalserver, such as a web-application server; real or intellectual property(such as, for example, a sculpture, painting, movie, game, song, idea,photograph, or written work); a game; an activity; an idea or theory;another suitable concept; or two or more such concepts. A concept node204 may be associated with information of a concept provided by a useror information gathered by various systems, including thesocial-networking system 160. As an example and not by way oflimitation, information of a concept may include a name or a title; oneor more images (e.g., an image of the cover page of a book); a location(e.g., an address or a geographical location); a website (which may beassociated with a URL); contact information (e.g., a phone number or anemail address); other suitable concept information; or any suitablecombination of such information. In particular embodiments, a conceptnode 204 may be associated with one or more data objects correspondingto information associated with concept node 204. In particularembodiments, a concept node 204 may correspond to one or more webinterfaces.

In particular embodiments, a node in the social graph 200 may representor be represented by a web interface (which may be referred to as a“profile interface”). Profile interfaces may be hosted by or accessibleto the social-networking system 160. Profile interfaces may also behosted on third-party websites associated with a third-party system 170.As an example and not by way of limitation, a profile interfacecorresponding to a particular external web interface may be theparticular external web interface and the profile interface maycorrespond to a particular concept node 204. Profile interfaces may beviewable by all or a selected subset of other users. As an example andnot by way of limitation, a user node 202 may have a correspondinguser-profile interface in which the corresponding user may add content,make declarations, or otherwise express himself or herself. As anotherexample and not by way of limitation, a concept node 204 may have acorresponding concept-profile interface in which one or more users mayadd content, make declarations, or express themselves, particularly inrelation to the concept corresponding to concept node 204.

In particular embodiments, a concept node 204 may represent athird-party web interface or resource hosted by a third-party system170. The third-party web interface or resource may include, among otherelements, content, a selectable or other icon, or other interactableobject (which may be implemented, for example, in JavaScript, AJAX, orPHP codes) representing an action or activity. As an example and not byway of limitation, a third-party web interface may include a selectableicon such as “like,” “check-in,” “eat,” “recommend,” or another suitableaction or activity. A user viewing the third-party web interface mayperform an action by selecting one of the icons (e.g., “check-in”),causing a client system 130 to send to the social-networking system 160a message indicating the user's action. In response to the message, thesocial-networking system 160 may create an edge (e.g., a check-in-typeedge) between a user node 202 corresponding to the user and a conceptnode 204 corresponding to the third-party web interface or resource andstore edge 206 in one or more data stores.

In particular embodiments, a pair of nodes in the social graph 200 maybe connected to each other by one or more edges 206. An edge 206connecting a pair of nodes may represent a relationship between the pairof nodes. In particular embodiments, an edge 206 may include orrepresent one or more data objects or attributes corresponding to therelationship between a pair of nodes. As an example and not by way oflimitation, a first user may indicate that a second user is a “friend”of the first user. In response to this indication, the social-networkingsystem 160 may send a “friend request” to the second user. If the seconduser confirms the “friend request,” the social-networking system 160 maycreate an edge 206 connecting the first user's user node 202 to thesecond user's user node 202 in the social graph 200 and store edge 206as social-graph information in one or more of data stores 164. In theexample of FIG. 2, the social graph 200 includes an edge 206 indicatinga friend relation between user nodes 202 of user “A” and user “B” and anedge indicating a friend relation between user nodes 202 of user “C” anduser “B.” Although this disclosure describes or illustrates particularedges 206 with particular attributes connecting particular user nodes202, this disclosure contemplates any suitable edges 206 with anysuitable attributes connecting user nodes 202. As an example and not byway of limitation, an edge 206 may represent a friendship, familyrelationship, business or employment relationship, fan relationship(including, e.g., liking, etc.), follower relationship, visitorrelationship (including, e.g., accessing, viewing, checking-in, sharing,etc.), sub scriber relationship, superior/subordinate relationship,reciprocal relationship, non-reciprocal relationship, another suitabletype of relationship, or two or more such relationships. Moreover,although this disclosure generally describes nodes as being connected,this disclosure also describes users or concepts as being connected.Herein, references to users or concepts being connected may, whereappropriate, refer to the nodes corresponding to those users or conceptsbeing connected in the social graph 200 by one or more edges 206.

In particular embodiments, an edge 206 between a user node 202 and aconcept node 204 may represent a particular action or activity performedby a user associated with user node 202 toward a concept associated witha concept node 204. As an example and not by way of limitation, asillustrated in FIG. 2, a user may “like,” “attended,” “played,”“listened,” “cooked,” “worked at,” or “watched” a concept, each of whichmay correspond to an edge type or subtype. A concept-profile interfacecorresponding to a concept node 204 may include, for example, aselectable “check in” icon (such as, for example, a clickable “check in”icon) or a selectable “add to favorites” icon. Similarly, after a userclicks these icons, the social-networking system 160 may create a“favorite” edge or a “check in” edge in response to a user's actioncorresponding to a respective action. As another example and not by wayof limitation, a user (user “C”) may listen to a particular song(“Imagine”) using a particular application (SPOTIFY, which is an onlinemusic application). In this case, the social-networking system 160 maycreate a “listened” edge 206 and a “used” edge (as illustrated in FIG.2) between user nodes 202 corresponding to the user and concept nodes204 corresponding to the song and application to indicate that the userlistened to the song and used the application. Moreover, thesocial-networking system 160 may create a “played” edge 206 (asillustrated in FIG. 2) between concept nodes 204 corresponding to thesong and the application to indicate that the particular song was playedby the particular application. In this case, “played” edge 206corresponds to an action performed by an external application (SPOTIFY)on an external audio file (the song “Imagine”). Although this disclosuredescribes particular edges 206 with particular attributes connectinguser nodes 202 and concept nodes 204, this disclosure contemplates anysuitable edges 206 with any suitable attributes connecting user nodes202 and concept nodes 204. Moreover, although this disclosure describesedges between a user node 202 and a concept node 204 representing asingle relationship, this disclosure contemplates edges between a usernode 202 and a concept node 204 representing one or more relationships.As an example and not by way of limitation, an edge 206 may representboth that a user likes and has used at a particular concept.Alternatively, another edge 206 may represent each type of relationship(or multiples of a single relationship) between a user node 202 and aconcept node 204 (as illustrated in FIG. 2 between user node 202 foruser “E” and concept node 204 for “SPOTIFY”).

In particular embodiments, the social-networking system 160 may createan edge 206 between a user node 202 and a concept node 204 in the socialgraph 200. As an example and not by way of limitation, a user viewing aconcept-profile interface (such as, for example, by using a web browseror a special-purpose application hosted by the user's client system 130)may indicate that he or she likes the concept represented by the conceptnode 204 by clicking or selecting a “Like” icon, which may cause theuser's client system 130 to send to the social-networking system 160 amessage indicating the user's liking of the concept associated with theconcept-profile interface. In response to the message, thesocial-networking system 160 may create an edge 206 between user node202 associated with the user and concept node 204, as illustrated by“like” edge 206 between the user and concept node 204. In particularembodiments, the social-networking system 160 may store an edge 206 inone or more data stores. In particular embodiments, an edge 206 may beautomatically formed by the social-networking system 160 in response toa particular user action. As an example and not by way of limitation, ifa first user uploads a picture, watches a movie, or listens to a song,an edge 206 may be formed between user node 202 corresponding to thefirst user and concept nodes 204 corresponding to those concepts.Although this disclosure describes forming particular edges 206 inparticular manners, this disclosure contemplates forming any suitableedges 206 in any suitable manner.

Indications for Sponsored Content Items within Media Items

FIGS. 3A-3E illustrate example interfaces of an online social network inwhich a media item is rendered and sponsored content items arepresented. Such interfaces may be displayed using any appropriate clientsystem 130 (e.g., a smartphone, a desktop computer, etc.). Sponsoredcontent items may be presented in the interface at some point during theplayback of a media item. For example, fifteen seconds after continuedplayback of the media item, the interface may transition from the mediaitem to a sponsored content item that may be presented within the sameregion of the interface. In this example, the interface may againtransition back to the media item after a period of time (e.g., when thepresentation of the sponsored content item has finished). Before thesponsored content item is presented, a sponsored-content indicator maybe presented, for example, to indicate to a user of the client system130 that the presentation of a sponsored content item is imminent (e.g.,by way of a sponsored-content indicator that includes a countdowntimer). At least in some instances, the sponsored-content indicator maynot be presented until it is determined that the user has sufficientinterest in the media item (and/or has a sufficient affinity for thesponsored content items). Similarly, the sponsored content item itselfmay not be presented until it is determined that the user has sufficientinterest.

There are many advantages of not presenting sponsored content items (orindications of their existence) to a user during the playback of mediaitems until it is determined that the user has sufficient interest inthe media item (and/or has a sufficient affinity for the sponsoredcontent items). For example, users may tend to be annoyed if they arepresented with sponsored content items initially before they have had achance to discover what the media item has to offer, or before they havegained sufficient interest in the media item. The user may be engaged ina process of discovery, browsing through media items that may be ofinterest, and subjecting the user to presentations of sponsored contentitems at this stage may contribute to a negative user experience. Eventhe knowledge that a media item contains a number of sponsored contentitems before this point may be annoying to users. As a result, users maybe dissuaded from engaging with media items, causing them to misscontent that they may otherwise have found valuable. In the aggregate,there may be a significant decrease in media-item consumption, which maybe a net loss for users interested in consuming media items, contentcreators/publishers, content-hosting platforms, and sponsoring entitiesor users. By waiting until it is determined that a user is interested inthe media item before presenting sponsored content items or indicatorsof sponsored content items, consumption of media items may beencouraged. Additionally, by waiting until the user is sufficientlyinterested in the media item, it may be more likely that the user staysinterested enough to consume the sponsored content item and alsocontinue with the media item past the presentation of the sponsoredcontent item. The methods described herein cause sponsored content items(and indicators of the presence and locations of those sponsored contentitems) to not be presented to a user accessing a media item until it hasbeen determined that the user is sufficiently interested in the mediaitem. As will be described, one method of causing sponsored contentitems to not be presented involves preventing or suppressing thetransmission of sponsored content items. Several technical advantagesare contemplated by not sending sponsored content items until asufficient interest level is determined. As an example and not by way oflimitation, there may be savings in network bandwidth usage, server-sideprocessing power involved in transmitting the sponsored content item,client-side processing power involved in loading or rendering thesponsored content item, and there may be a perceptible decrease in theamount of time it takes to load media items. These advantages may resultfrom fewer sponsored content items being sent, loaded, and rendered permedia item. As an example and not by way of limitation, for media itemsthat the user is not sufficiently interested in such that the user wouldjust scroll away rather than pay attention to a sponsored content item,the sponsored content item may not be sent.

In particular embodiments, a server computing machine may send a mediaitem to a client computing device of a user. The term “media item” asused herein refers to any content item that may be consumed by the user(e.g., a 2D video/photo, a 360-video/photo, an audio file, a slide deck,an interactive content item such as a game, etc.). The media item may berendered for the user at the client computing device. In particularembodiments, the server computing machine may determine an interestlevel of the user for the media item. The interest level may bedetermined based on any number of suitable factors. As an example andnot by way of limitation, the interest level may be based on a durationof time for which the media item is played on the client computingdevice. In particular embodiments, if the interest level of the user isgreater than a threshold interest level, the server computing machinemay send, to the client computing device, a sponsored-content indicatorindicating that a sponsored content item will be presented. As anexample and not by way of limitation, the sponsored-content indicatormay be a user-interface element that displays a countdown (numericallyor graphically) to the time-point at which the sponsored content itemwill be presented. In particular embodiments, the sponsored content itemmay be presented on the client computing device (e.g., at the end of acountdown of the sponsored-content indicator).

In particular embodiments, a server computing machine (or any othersuitable computing device or system) may send a media item to a clientcomputing device of a user. In particular embodiments, the servercomputing machine may be a social-networking system 160 or any suitablemedia-hosting or -distribution system. In particular embodiments, themedia item may be either a pre-recorded or pre-generated media item(e.g., a pre-recorded video) or may be a live-stream (e.g., alive-streaming video). The media item may be rendered for the user atthe client computing device. As an example and not by way of limitation,the media item may be sent to the client computing device to be renderedwithin an interface of an online social network associated with theserver computing machine (e.g., the social-networking system 160). Theclient computing device may then render the media item. FIG. 3Aillustrates an example interface of an online social network withinwhich a media item is rendered. Referencing FIG. 3A, the media item 310(e.g., a video) may be presented within a newsfeed of an online socialnetwork, and may be sent as the user navigates through the newsfeed.Alternatively, the media item 310 may be sent in response to a userinput indicating an intent to access the media item 310. As an exampleand not by way of limitation, the media item 310 may be sent only whenthe user selects a thumbnail or other representation of the media item310. In particular embodiments, the media item 310 may have beenuploaded to the server computing machine by a third-party system. As anexample and not by way of limitation, the third-party system may be aclient computing system associated with another user of the onlinesocial network. As another example and not by way of limitation, thethird-party system may be a content creator/publisher (e.g., referencingFIG. 3A, the content creator/publisher “Bird Person Magazine”).

In particular embodiments, the server computing machine may determine aninterest level of the user for the media item. The interest level may bedetermined based on any number of suitable factors. In particularembodiments, the interest level may be based on a duration of time forwhich the media item is played (e.g., viewed, heard, or otherwiseengaged with by the user) on the client computing device. As an exampleand not by way of limitation, the interest level of the user for anaudio file (e.g., a podcast) may be based on an aggregate amount ofplaytime of the audio file by the user. In this example, if a user skipsaround the audio file playing segments of the audio file, the interestlevel may be based on the combined durations of the individual segments.As another example and not by way of limitation, the interest level maybe based on an amount of continuous playtime of the audio file. In thisexample, only the duration of the largest played segment may be countedfor determining the interest level. As another example and not by way oflimitation, the interest level may be based on a percentage of the audiofile that has been played. In this example, for a relatively large audiofile, all else equal, a larger segment of the audio file may need to beplayed to reach the same interest level as in the case of a relativelysmall audio file. The duration of time a media item is played may berelevant to determining the interest level of the user for any ofseveral reasons. As an example and not by way of limitation, the veryfact that a user spent a relatively long amount of time engaging with amedia item may suggest that the user is interested in the media item. Asanother example and not by way of limitation, the sunk cost involvedwith playing a media item for a duration of time may suggest that theuser will be inclined to continue with the media item (e.g., even aftera sponsored content item is presented). As another example and not byway of limitation, the amount of time remaining for the media item(e.g., as may be reflected by the percentage of the media item that hasalready been played) may indicate that the user is sufficiently investedin the media item to continue with the media item.

In particular embodiments, the interest level may be determined based onhistorical usage patterns of the user with respect to previouspresentations of sponsored content items within media items. Suchhistorical usage patterns may include information about how the userbehaved when presented with sponsored content items in the past. As anexample and not by way of limitation, the historical usage patterns mayinclude information about how frequently the user scrolled away from orstopped playing a media item when a sponsored content item waspresented. As another example and not by way of limitation, thehistorical usage patterns may include information correlating userbehavior with the timing of the presentation of sponsored content items.For example, a user may frequently have stopped playing a video when asponsored content item was presented five seconds into the video, butmay have tended to continue with the video (after the presentation ofthe sponsored content item) if the sponsored content item was presentedten seconds into the video. In particular embodiments, the servercomputing machine may also correlate the user's behavior when presentedwith sponsored content items with information about the specific mediaitems for which the sponsored content items were presented. As anexample and not by way of limitation, if a user has demonstrated atendency to continue listening to audio files of podcasts about politics(or podcasts by specific content creators/publishers) after sponsoredcontent items are presented, the user may be determined to have a higherinterest level than otherwise in a similar audio file.

In particular embodiments, the interest level may be determined based onone or more topics associated with the media item. The topics may, forexample, correspond to concept or user nodes of a social graph (e.g.,referencing FIG. 2, the social graph 200 of the social-networking system160). Topics may be associated with a media item based on informationassociated with the media item (based on, for example, text of titles ordescriptions entered by the creator/publisher of the media item; text ofcomments, reshares, or posts on an online social network associated withthe media item; speech or sound analysis; visual-recognition techniques,etc.). More information about how topics may be associated with mediaitems may be found in the following applications, which are incorporatedherein by reference: U.S. patent application Ser. No. 13/167,701, filed23 Jun. 2011; U.S. patent application Ser. No. 14/585,782, filed 30 Dec.2014; U.S. patent application Ser. No. 14/952,707, filed 25 Nov. 2015;U.S. patent application Ser. No. 13/959,446, filed 5 Aug. 2013, and U.S.patent application Ser. No. 14/983,385, filed 29 Dec. 2015; and U.S.patent application Ser. No. 15/277,938, filed 27 Sep. 2016. The interestlevel of a particular user for a particular media item may be determinedby calculating an affinity of the user for topics that are associatedwith the particular media item (which may be determined, for example,based on a degree of separation between a node corresponding to the userand a node corresponding to the media item on a social graph, or basedon any other suitable social graph information). As an example and notby way of limitation, a particular user may be determined to have a highaffinity for the topic “Cooking” (e.g., as determined by the particularuser's history of watching videos related to cooking, liking posts orpages related to cooking recipes, etc.), in which case, the particularuser may be determined to have a interest level for an interactivecooking tutorial. In particular embodiments, the interest level may bedetermined based on demographical information of the user. All elseequal, users of a particular demographic (e.g., an age group) may sharetraits that make them more interested in a particular media item thananother demographic. This may be determined based on any suitable study,such as correlational analyses of historical usage by users of theparticular demographic (e.g., users of an online social network) withrespect to the particular media item, related media items, or othermedia items with the same or similar topic. As an example and not by wayof limitation, all else equal, users in the Millenials (or Generation Y)demographic may have a higher interest level for a media item associatedwith the topic “1990s Music Hits” than users in the Generation Xdemographic (e.g., because Millenials may have a higher affinity formusic from the 90 s). As another example and not by way of limitation,all else equal, users in a French-speaking demographic may have a higherinterest level for a media item that is in the French language thanother users.

In particular embodiments, if the interest level of the user is greaterthan a threshold interest level, the server computing machine may send,to the client computing device, a sponsored-content indicator indicatingthat a sponsored content item will be presented. As an example and notby way of limitation, the sponsored-content indicator may be auser-interface element that displays a countdown (numerically orgraphically) to the time-point at which the sponsored content item willbe presented. The sponsored-content indicator may be rendered at anysuitable location on a display of the client computing device (e.g.,overlaying a region that is occupied by the media item, adjacent to theregion, at a specified location on the display, etc.).

FIGS. 3B-3C illustrate example interfaces of an online social network inwhich a sponsored-content indicator 320 is rendered. In particularembodiments, until the interest level is determined to be greater thanthe threshold interest level, there may not be any indication to theuser of an upcoming presentation of a sponsored content item. There maybe several advantages to not presenting indications of sponsored contentitems initially. As an example and not by way of limitation, indicationsof sponsored content items tend to be annoying or frustrating for userswho have not yet had the opportunity to experience or derive sufficientvalue from the media item. For example, a user may be annoyed bylearning that a video may contain five instances of sponsored contentitems, and may even be dissuaded from accessing the video. As anotherexample and not by way of limitation, presenting indications ofsponsored content items (e.g., when the indications indicate specifictime-points at which sponsored content items will be presented) may tendto cause users to take actions for skipping the sponsored content items.For example, a video may include a timeline that indicates points atwhich sponsored content items are to be presented, in which case a userwatching the video may attempt to skip over the sponsored content items,or skip portions of the video that have high concentrations of sponsoredcontent items to minimize the number of sponsored content itemspresented. Such attempts may result in a negative user experience forthe user as the user may skip over important portions of the media item,and may additionally reduce the effectiveness of sponsored contentitems. The interest level of the user in a media item may be relevant tothe decision of whether to finally present an indication of sponsoredcontent, because a high interest may, for example, suggest that the useris sufficiently interested in the media item to be willing to consumethe sponsored content item (e.g., so that the user can finish the restof the media item after the sponsored content item has been presented).Presenting an indication of the sponsored content item before it isdetermined that a user has a sufficient interest level in the media itemmay diminish the user's interest in the media item and may dissuade theuser from even engaging with the media item. In the aggregate, there maybe a significant decrease in the consumption of media items. The resultmay be a net loss for the user, the content creator/publisher, thecontent-hosting platform, and the sponsoring entity or user, because apotentially interested user may not access a media item that the usermay otherwise have wanted to access.

In particular embodiments, the sponsored content item may be presentedon the client computing device (e.g., at the end of a countdown of thesponsored-content indicator 320). FIGS. 3D-3E illustrate exampleinterfaces of an online social network within which a sponsored contentitem is presented. As used herein, the term “sponsored content item” mayrefer to any type of content item (e.g., a media item such as a video,an audio file, a photo, an interactive item) that is sponsored by a useror other entity. In particular embodiments, the sponsored content itemmay be a “direct-response” item that includes a call to action (e.g., avideo that includes interactive elements that may be activated by theuser to submit an input to a user or entity associated with thesponsored content item). Alternatively, the sponsored content item maybe a “non-direct-response” item, or what may be characterized as apassive content item (e.g., a video without any input options).Referencing FIG. 3D, the sponsored content item 330 may be sponsored bythe entity “Gazorpazorp Cola.” In particular embodiments, the servercomputing machine may cause the sponsored content item to be presentedby instructing the client computing device to play the sponsored contentitem. As an example and not by way of limitation, the sponsored contentitem may have been sent previously (e.g., along with the media item), inwhich case, the client system may simply retrieve the sponsored contentitem from local storage. As another example and not by way oflimitation, the server computing machine may send the sponsored contentitem to the client computing device at a suitable time after thethreshold interest level has been reached (e.g., immediately after thethreshold interest level has been reached, when the sponsored-contentindicator is first displayed, a minimum period of time before thesponsored content is to be presented, continuously streaming portions ofthe sponsored content item as it is being rendered, etc.).

In particular embodiments, the server computing machine may suppress thesending of a sponsored content item if the user has been presented with,seen, or engaged with another sponsored content item within a specifiedperiod of time. As an example and not by way of limitation, if the userhas watched a sponsored content item sometime within the past fiveminutes, the server computing machine may suppress the sending of anadditional sponsored content item (e.g., at least until the five-minuteperiod has been exceeded). In particular embodiments, the period of timemay be specified by the server computing machine. The period of time maybe personalized for the user (e.g., based on location, the day, thetime, information about the user, etc.). As an example and not by way oflimitation, the period of time may be longer in the afternoon during theworkweek, when users may have limited time for sponsored content items,than at night on a weekend, when users may have more time. As anotherexample and not by way of limitation, the period of time may beshortened for users who have indicated a preference for sponsoredcontent items (e.g., users who have clicked on links associated withsponsored content items, users who have interacted meaningfully withdirect-response sponsored content items). The period of time may alsodepend on the sponsored content item that was presented previously orthe sponsored content item that is to be presented. As an example andnot by way of limitation, a shorter period of time may be specified ifthe previously presented sponsored content item (or the sponsoredcontent item that is to be presented) was a relatively non-intrusivecontent item (e.g., a questionnaire or a banner that does not interferewith playback of a media item). As another example and not by way oflimitation, a shorter period of time may be specified if the previouslypresented sponsored content item (or the sponsored content item that isto be presented) was relatively short (e.g., a five-second clip).

In particular embodiments, the sponsored content item (or thesponsored-content indicator such as the sponsored-content indicator 320)may be presented at one of a plurality of potential sponsor points inthe media item. As an example and not by way of limitation, a particularvideo may have three different potential sponsor points at differenttime-points in the video—s1, s2, and s3. In this example, if thethreshold interest level is reached at a time-point between s1 and s2, asponsored-content indicator may be shown for the countdown period befores2, and a sponsored content item may be presented at s2. In particularembodiments, these potential sponsor points may be pre-determined. As anexample and not by way of limitation, an algorithm of a media-hostingplatform (e.g., an online social network) may determine them when themedia item is uploaded or before the media item is sent to the clientcomputing device. For example, the algorithm may place the potentialsponsor points before scene changes, at natural break points, afterpoints the media item that are of interest (e.g., cliffhangers), pointsof user engagement (e.g., points in a video where a large number ofusers submitted “likes,” comments, or other reactions), simply based onequal partitions of time, or any suitable combination of these methods.As another example and not by way of limitation, the contentcreator/publisher or the sponsoring entity may specify the potentialsponsor points. In particular embodiments, the potential sponsor pointsmay be determined dynamically. As an example and not by way oflimitation, a set of potential sponsor points may be determinedfollowing and based on the time-point at which the threshold interestlevel was reached (e.g., the first of the set of potential sponsorpoints occurring five seconds after this time-point).

Referencing FIGS. 3A-3E, an example use case will now be described. Auser may be using a client computing device to scroll through a newsfeedon an interface of an online social network associated with thesocial-networking system 160. Referencing FIG. 3A, the user may scrollto a point in the newsfeed where the video 310 appears. By this pointthe social-networking system 160 may have sent at least a portion of thevideo to the client computing device of the user. Playback of the video310 may be initiated. Referencing FIG. 3B, the video may have played fora certain duration, at which point the threshold interest level may havebeen exceeded (e.g., based on the duration of time in combination withhistorical usage information associated with the user). As a result, thesponsored-content indicator 320 may be presented. The sponsored-contentindicator 320 may provide a suitable description indicating to the userthat a sponsored content item is imminent, and may also include anelement that indicates a measure of time remaining before the sponsoredcontent item is presented. As an example and not by way of limitation,in the sponsored-content indicator 320, a clock-like countdown timerelement may be presented. As made evident by comparing FIG. 3B and FIG.3C (the latter being later in time), the clock-like countdown timerelement graphically illustrates a countdown of the remaining time untila sponsored content item is to be displayed. Referencing FIG. 3D, whenthe countdown is completed, the sponsored content item 330 (e.g., avideo) may be displayed on the client computing device. The sponsoredcontent item 330 may be streamed to the client computing device as itplays or may have been sent prior to it being played (e.g., with all orat least a portion of the sponsored content item 330 being sent when thesponsored-content indicator 320 was first displayed). As the sponsoredcontent item 330 is being presented, the returning-content indicator 340may be displayed. The example returning-content indicator 340 in FIGS.3D-E displays a numerical countdown indicating an amount of timeremaining before the video 310 is resumed. The end of the countdown mayor may not correspond to the end of the presentation of the sponsoredcontent item (e.g., it may be countdown to a point at which the user maybe able to skip the rest of the presentation). At the end of thecountdown, the video 310 may be resumed automatically or in response toa user input indicating an intent to resume the video 310.

In particular embodiments, if the interest level of the user for themedia item never reaches a point greater than the threshold interestlevel, a sponsored-content indicator may never be sent to the clientcomputing device of the user during playback of the media item.Correspondingly, the server computing machine may cause the sponsoredcontent item to not be presented during playback of the media item(i.e., it may forgo presentation of the sponsored content item). As anexample and not by way of limitation, the server computing machine maynot send the media item to the client computing device for playback. Asanother example and not by way of limitation, the server computingmachine may send all or a portion of the media item to the clientcomputing device, but may instruct the client computing device to notpresent the sponsored content item.

In particular embodiments, the server computing machine may determine anaffinity level of the user for the sponsored content item. In particularembodiments, the affinity level of the user for the sponsored contentitem may be a measure of an affinity the user has for the sponsoredcontent item, for the one or more users or entities who sponsored thesponsored content item, or for other or more users or entitiesassociated with the sponsored content item (e.g., users who liked thesponsored content item). In particular embodiments, the affinity levelmay be based on a measure of affinity the user has for a content-type ofthe sponsored content item. As an example and not by way of limitation,the user may have a relatively high affinity for sponsored content items(or media items generally) that are games, in which case, the affinitylevel of such a sponsored content item may be higher than otherwise. Inparticular embodiments, the affinity level of the user may be determinedbased on a number of degrees of separation between the first node and asecond node associated with the sponsored content item. In particularembodiments, the interest level of the user may be adjusted upward ordownward based on the determined affinity level. As an example and notby way of limitation, if the user has an affinity level that is greaterthan a threshold affinity level, the interest level of the user may beadjusted upward. For example, referencing FIG. 3D, if the user has arelatively high affinity level for Gazorpazorp Cola (e.g., the user mayhave previously liked content by Gazorpazorp Cola or a page associatedwith Gazorpazorp Cola), the interest level for the media item may beadjusted upward. As another example and not by way of limitation, if theuser has an affinity level that is below a minimum affinity level (e.g.,if the user has previously indicated a dislike for content byGazorpazorp Cola), the interest level of the user may be adjusteddownward. In particular embodiments, the amount of adjustment may bebased on the amount by which the affinity level exceeds the thresholdaffinity level or by which the affinity level is below the minimumaffinity level. In particular embodiments, the server computing machinemay consider the user's affinity level for all potential sponsoredcontent items when adjusting the interest level. As an example and notby way of limitation, there may be five potential sponsored contentitems for a given media item, in which case, the server computingmachine may look at affinity levels for all five sponsored contentitems. In this example, the server computing machine may base itsadjustment of the interest level on the affinity level of the sponsoredcontent item with the highest affinity level (and may select thatparticular sponsored content item for presenting to the user). Inparticular embodiments, the affinity level for a particular sponsoredcontent item may be adjusted downward based on the user's previousinteractions with the particular sponsored content item, or a relatedsponsored content item. As an example and not by way of limitation, ifthe user has already seen the particular sponsored content item with thelast five hours, the affinity level for particular sponsored contentitem (or other sponsored content items by the same sponsoring entity oruser) may be adjusted downward. As another example and not by way oflimitation, if the user previously indicated a lack of interest in theparticular sponsored content item (or other sponsored content items bythe same sponsoring entity or user) by scrolling away from it orsubmitting an input to hide the sponsored content item, the affinitylevel of the particular sponsored content item may be adjusted downward.In particular embodiments, the affinity level may not be a measure forsimply adjusting the interest level of the user, but may be anadditional and independent factor in determining whether it is time topresent a sponsored content item.

Although the disclosure has focused on particular interfaces (e.g.,media items and sponsored content items displayed within a newsfeed of aonline social network), the disclosure contemplates any suitableinterface. FIGS. 4A-C illustrate one such other suitable interface. FIG.4A illustrates an example of a full-screen display of a media item. FIG.4B illustrates an example of a full-screen display of a media item witha sponsored-content indicator 410. FIG. 4C illustrates an example of afull-screen display of a sponsored content item with a returning-contentindicator 420. FIG. 5 illustrates an example media-item channelinterface. A media-item channel interface may present a series of mediaitems (e.g., related media items) in succession. Referencing FIG. 5, achannel for “Bird Person Magazine” may currently be displaying the video510. The media-item menu 530 may display thumbnails or other descriptorsof media items in the channel that may be selected by the user orautomatically progressed through. Within the media-item menu, thethumbnail 520 may correspond to the currently playing media item (i.e.,the video 510).

FIG. 6 illustrates an example method 600 for determining when to presenta sponsored content item during playback of a media item. The method maybegin at step 610, where a server computing machine may send a mediaitem to a client computing device of a user. At step 620, the servercomputing machine may determine an interest level of the user for themedia item, wherein the interest level is determined based on a durationof time for which the media item is played on the client computingdevice. At step 630, the server computing machine may, if the interestlevel of the user is greater than a threshold interest level, send, tothe client computing device, a sponsored-content indicator indicatingthat a sponsored content item will be presented and cause the sponsoredcontent item to be presented on the client computing device.

Particular embodiments may repeat one or more steps of the method ofFIG. 6, where appropriate. Although this disclosure describes andillustrates particular steps of the method of FIG. 6 as occurring in aparticular order, this disclosure contemplates any suitable steps of themethod of FIG. 6 occurring in any suitable order. Moreover, althoughthis disclosure describes and illustrates an example method fordetermining when to present a sponsored content item during playback ofa media item including the particular steps of the method of FIG. 6,this disclosure contemplates any suitable method for determining when topresent a sponsored content item during playback of a media itemincluding any suitable steps, which may include all, some, or none ofthe steps of the method of FIG. 6, where appropriate. Furthermore,although this disclosure describes and illustrates particularcomponents, devices, or systems carrying out particular steps of themethod of FIG. 6, this disclosure contemplates any suitable combinationof any suitable components, devices, or systems carrying out anysuitable steps of the method of FIG. 6.

Pausing Sponsored Content Items when Transitioning

FIGS. 7A-7D are example graphical user interfaces illustrating anexample feed (e.g., a newsfeed) with media items in which a sponsoredcontent item associated with a media item is paused when a user performsa transition (e.g., a scroll input or a tap selection of an adjacentmedia item). Such interfaces may be displayed using any appropriateclient system 130 (e.g., a smartphone, a desktop computer, etc.). Thenewsfeed may include a plurality of media items (e.g., pre-recordedvideos or live-streaming videos). The media items may be arranged fromtop to bottom in the newsfeed and may be accessed by transitioning(e.g., scrolling) through the newsfeed. The user may view a media itemon his client system 130. When the user has viewed the media item for acertain duration of time, a sponsored content item (e.g., a videoadvertisement, a commercial, etc.) may be displayed on the client system130 (as discussed above). The user may continue to watch the sponsoredcontent item or scroll up/down to watch another media item in thenewsfeed. When the user decides to watch another media item, thesponsored content item may be paused from playing. Paused sponsoredcontent item may resume playing when the user returns to view the mediaitem with which the sponsored content item is associated. The sponsoredcontent item will resume playing from the same time from where the userleft off. For example, if the user left off watching a commercial at thetenth second, then the commercial will resume playing from the tenthsecond when the user returns.

In particular embodiments, a server computing machine (e.g., asocial-networking system 160) may render a newsfeed of an online socialnetwork on a client computing device (e.g., a client system 130) of auser. The newsfeed of the online social network may include a pluralityof media items, which may include any content items that may be consumedby the user (e.g., a video, an audio file, a slide deck, an interactioncontent item such as a game, etc.). In particular embodiments, a mediaitem may be either a pre-recorded or pre-generated media item (e.g., apre-recorded video) or may be a live-stream (e.g., a live-streamingvideo). The media items may be arranged from top to bottom in thenewsfeed and may be accessed by transitioning through the newsfeed. Inparticular embodiments, transitioning may include scrolling up/downthrough the newsfeed or tapping on an adjacent media item (e.g., locatedup or below the current media item) in the newsfeed, The user mayinteract with a media item and perform a transition (e.g., scrollaction) to view other media items in the newsfeed using his clientcomputing device. The client computing device may be a touch-enabledcomputing device capable of receiving touch input(s) from the user byway of touch gestures (e.g., swipe, drag, tap, pinch-to-zoom, etc.), orthe client computing device may a non-touch/conventional computingdevice configured to receive user input(s) via input device(s) (e.g.,keyboard, mouse, etc.). On the touch-enabled client computing device,the user may perform a scroll by performing a touch gesture on thescreen (e.g., swipe up to access media items located down below in thenewsfeed or swipe down to access media items located up in thenewsfeed). On the conventional client computing device, a dedicatedscroll bar may be provided on the newsfeed and the user may scrollthrough the newsfeed using the scroll bar with an input deviceassociated with the client computing device.

A user may view a media item (e.g., a video) on his client computingdevice. The server computing machine may keep track of the time as theuser is viewing the media item. In particular embodiments, when the userhas viewed the media item for a certain duration of time, the servercomputing machine may send a sponsored content item (e.g., a videoadvertisement, a commercial, etc.) for display on the client computingdevice (e.g., see FIG. 7B). For example, if the media item is athree-minute-long video and the user has watched the first one minute ofthat video, then the server computing machine may send a videoadvertisement for display on the client computing device after thecompletion of the one minute of the video. In particular embodiments,the server computing machine may send a sponsored content item fordisplay based on determining an interest level of the user for the mediaitem that he is watching. The interest level may be determined based onany number of suitable factors including, for example, a duration oftime for which the media item is played on the client computing device,historical usage patterns of the user with respect to previouspresentations of sponsored content items within media items, one or moretopics associated with the media item, demographical information of theuser, an affinity level of the user with respect to the sponsoredcontent item, etc. (each of these factors discussed in detail in section“Indications for Sponsored Content Items”). In particular embodiments,prior to presenting the sponsored content item, the server computingmachine may present a sponsored-content indicator on the media itemindicating that the sponsored content item will be presented. Theindicator may be a user-interface element that displays a countdown(numerically or graphically) to the time-point at which the sponsoredcontent item will be presented (e.g., as shown in FIG. 7A).

When the sponsored content item is presented to the user, the user maycontinue to watch the sponsored content item or scroll up/down to watchanother media item in the newsfeed. In particular embodiments, when theuser decides to watch another media item, the server computing machinemay pause the sponsored content item from playing (e.g., as shown inFIG. 7C). The server computing machine may pause the sponsored contentitem at a time where the user left off for watching another media item.For example, if the user has watched five seconds of a 15 secondcommercial and decides to scroll down to watch a next media item in thenewsfeed, then the server computing machine may pause the commercial atsixth second to later resume the playback from where the user left offwatching the commercial. The server computing machine may resume theplayback of the paused sponsored content item when the user returns toview the media item with which the sponsored content item is associated(e.g., as shown in FIG. 7D). The server computing machine may resume theplayback from the same time from where the user left off. For example,if the user left off watching a commercial at the tenth second, then theserver computing machine may resume the playback from the tenth secondof the commercial (e.g., as shown in FIGS. 7B and 7D).

Pausing a sponsored content item is advantageous for both the user and asponsored-content-item provider. For the user, the pausing isadvantageous as it permits the user to skip out from the sponsoredcontent item (for later viewing) and view other media items in thenewsfeed. The user may at anytime go back to continue viewing the pausedsponsored content item. This is different from prior or existingimplementations where a user has to either skip the entire commercial orwait until the end of the commercial to view a media item. So, in a way,the pausing feature of the present invention allows a user to skipwatching a sponsored content item (for a while) without actuallyskipping the sponsored content item. For the sponsored-content-itemprovider, the pausing is advantageous as it ensures that the sponsoredcontent item will be watched by the user.

In some embodiments, when a user returns to a media item with which apaused sponsored content item is associated, the paused sponsoredcontent item may not be resumed for playing and instead the media itemwill resume playing on the client computing device. Resuming thesponsored content item may be based on a determination of whether athreshold number of sponsored content items has been presented to theuser within a specified period of time. For example, the thresholdnumber of sponsored content items may be five commercials per day (or atotal of 35 commercials in a week), and if this number is satisfied fora particular day (e.g., by presenting five commercials within othermedia items in that day) then when the user returns to a media item withwhich a paused sponsored item is associated, the media item will resumeplaying instead of the sponsored content item since the user has alreadywatched enough sponsored content items for the day.

In particular embodiments, apart from the server computing machinepausing a sponsored content item from playing, the server computingmachine may also be configured to pause a media item when a userperforms a scroll (e.g., as shown in FIGS. 7C and 7D). For example, whena user is viewing a first media item (e.g., a video) and performs ascroll to view a second media item located above or below the firstmedia item, then the first media item may be paused at a time when theuser left off from viewing it. The first media item may resume playingfrom the same time when the user returns to the same location in thenewsfeed where the first media item is located.

FIGS. 7A-7D are example graphical user interfaces illustrating anexample newsfeed with media items in which a sponsored content itemassociated with a media item is paused when a user performs a scroll. Inparticular, FIG. 7A is a graphical user interface illustrating anewsfeed 700 displayed on a screen 702 of a client computing device(e.g., a mobile device) 704. The newsfeed 700 may contain at least mediaitem 706 and 708. The media item 706 is a video, associated with“National Geographic Magazine” channel, that shows information aboutbirds. A user may scroll through the newsfeed 700 by performing touchgestures on the screen 702. For example, the user may swipe up to viewmedia item(s) located down in the newsfeed 700 (see FIG. 7B) or swipedown to view media item(s) located up in the newsfeed 700 (e.g., seeFIG. 7C). A time bar may be associated with each of the media items 706and 708. For example, as shown with respect to the media item 706, atime bar 710 may indicate a current runtime (712) and a remainingruntime (714) of the media item 706. A runtime indicator 716 may beshown in the time bar 710 to indicate a current runtime position of themedia item 706. When the user has watched the media item 706 for acertain duration of time, a sponsored-content indicator 718 will bepresented to the user. For example, once the user has finished watchingone minute of the media item 706, the sponsored-content-item indicator718 may appear at a certain location within the media item 706 (e.g., abottom left corner of the media item 706). The sponsored-content-itemindicator 718 may indicate to the user graphically or numerically howmuch time is remaining before a sponsored content item (e.g., acommercial) is presented to the user.

FIG. 7B is a graphical user interface illustrating an example sponsoredcontent item 720 that may be shown within the media item 706 once theuser has viewed the media item 706 for a certain duration of time (asdiscussed above). The sponsored content item 720 may be shown inresponse to the sponsored-content-item indicator 718 completing itscycle of remaining time in FIG. 7A. As depicted, the sponsored contentitem 720 is a 15 second commercial for a fitness watch. Similar to thetime bar 710 in FIG. 7A, a time bar 722 may be shown indicating currentruntime (left), remaining runtime (right), and a current runtimelocation indication (round dot/ball in the time bar 722) to the user. Areturning-content indicator 724 may be presented in proximity to thesponsored content item 720. The returning-content indicator 724 maydisplay a numerical countdown indicating an amount of time remainingbefore the media item 706 is resumed. For example, as depicted, thereturning-content indicator 724 indicates that the media item 706 willresume playing in five seconds. Anytime during the runtime of thesponsored content item 720, the user may scroll up or down to view othermedia item(s) in the newsfeed 700. For example, the user may perform ascroll up gesture 726 to bring the media item 708 upward for viewing. Assoon as the user performs a scroll, the sponsored content item 720 maybe paused at the current runtime of the item. For example, when the userperforms the scroll up gesture 726, the sponsored content item 720 ispaused at the tenth second of its runtime.

FIG. 7C is a graphical user interface illustrating the second media item708 surfaced upward in the newsfeed 700 when the user performs the swipeup gesture 726 in FIG. 7B. As depicted, the runtime of the sponsoredcontent item 720 is paused (indicated by a pause indicator 728). Themedia item 708 relates to a video about “Why do Octopuses remind us ofourselves?” and the video is associated with the Discovery Channel.Similar to the time bar 710, a time bar 730 may be shown indicatingcurrent runtime (left), remaining runtime (right), and current runtimeindication (round dot/ball in the time bar 730) to the user. Anytimeduring the runtime of the media item 708, the user may scroll up or downto view other media item(s) in the newsfeed 700. For example, the usermay perform a scroll down gesture 732 to bring back the media item 706for viewing. As soon as the user performs a scroll, the media item 708may be paused at its current runtime (indicated by a pause indicator 734in FIG. 7D). For example, when the user performs the scroll down gesture732, the media item 708 is paused at the fifth second of its runtime.The media item 708 may resume playing when the user returns back to thesame location in the newsfeed.

FIG. 7D is a graphical user interface illustrating the sponsored contentitem 720 resumed playing from the time where the user left off in FIG.7B. The user can finish watching the sponsored content item 720 and oncethe item 720 is finished, the media item 706 will resume playing. Insome embodiments, instead of the sponsored content item 720, the mediaitem 706 will resume playing when the user returns upon performing theswipe down gesture 732 in FIG. 7C. For example, the user may have methis sponsored-content-items watch quota by watching a certain number ofsponsored content items within other media items and therefore, thesponsored content item 720 may be skipped and the media item 706 willresume playing, as discussed elsewhere herein.

FIG. 8 is a flowchart of an example method 800 for pausing a sponsoredcontent item from playing when a user performs a transition (e.g.,scroll action). The method may begin at step 810, where one or morecomputing systems (e.g., a social-networking system 160) may display afeed (e.g., newsfeed) of an online social network on a client computingdevice (e.g., a client system 130) of a user. The feed may comprise aplurality of media items. At step 820, the one or more computing systemsmay receive, from the client computing device, a first indication theuser is viewing a first media item in the feed, wherein the first mediaitem is located at a first location in the feed. At step 830, after theuser has viewed the first media for a certain duration of time, the oneor more computing systems may send a first sponsored content item forplaying at the first location on the client computing device. At step840, the one or more computing systems may receive, from the clientcomputing device, a second indication the user is transition (e.g.,scrolling) from the first location to a second location in the feed. Atstep 850, the one or more computing systems may pause the firstsponsored content item from playing in response to receiving the secondindication.

Particular embodiments may repeat one or more steps of the method ofFIG. 8, where appropriate. Although this disclosure describes andillustrates particular steps of the method of FIG. 8 as occurring in aparticular order, this disclosure contemplates any suitable steps of themethod of FIG. 8 occurring in any suitable order. Moreover, althoughthis disclosure describes and illustrates an example method for pausinga sponsored content item from playing including the particular steps ofthe method of FIG. 8, this disclosure contemplates any suitable methodfor pausing a sponsored content item from playing including any suitablesteps, which may include all, some, or none of the steps of the methodof FIG. 8, where appropriate. Furthermore, although this disclosuredescribes and illustrates particular components, devices, or systemscarrying out particular steps of the method of FIG. 8, this disclosurecontemplates any suitable combination of any suitable components,devices, or systems carrying out any suitable steps of the method ofFIG. 8.

Broadcaster and Viewer Interfaces

As is explained above, the media item that a server computing machinesends to a client computing device (or client system) may be apre-recorded or pre-generated media item (such as in the form of anewsfeed), or may be a live-stream (e.g. live video). The following isan example of a first client user (first user) using a client system tobroadcast a live video and optional sponsored content items via theserver computing machine to one or more second client users (secondusers) on their respective client systems. As it would be understood, a“live video” may refer to a video stream or any other form of multimedia(or media item) that is transmitted over a computer network, such as theInternet, in real time or in near real time. For example, the servercomputing machine (e.g. social-networking system 160, described above)may continuously receive/capture a live video stream from the firstclient user, and as it is received, immediately broadcast it to thesecond client users, as opposed to the server computing machinereceiving the entire video from the first client user before making itavailable to the second client users. In the present example, the secondclient users may be friends of the first client user, where the term“friend” may refer to any other client user of the social-networkingsystem with whom the first client user has formed a connection,association, or relationship via the social-networking system (e.g., onan online social network).

In particular embodiments, the server computing machine provides abroadcaster (user) interface to the first client user and a viewer(user) interface to the second client users. The broadcaster interfacepermits the first client user to interact with the server computingmachine, such as to submit live video to the server computing machinefor delivery to the second client users, or to indicate to the servercomputing machine when the first client user desires to send a sponsoredcontent item to the second client users. Similarly, the viewer interfacepermits the second client users to interact with the server computingmachine, such as to receive and render the live video or sponsored mediaitem.

FIG. 9A illustrates a client system 910, such as a mobile device ormobile phone, which the first client user may use to broadcast a livevideo 914. In the example of FIG. 9A, client system 910 is shown with abroadcaster interface 912A before the first client user has indicatedany desire to provide a sponsored content item to the second clientusers. Broadcaster interface 912A includes live video area 908 in whichthe live video 914 is displayed. In the present example, live video area908 substantially covers an entire screen area 916 of client system 910,which provides the first client user with a view similar to what thesecond client users are likely to see during the broadcasting of livevideo 914. A portion of the screen area 916 may be designated as acomments area 918 to display comments posted to the social networkingsystem by viewers of the live video 914. In the present example,comments area 918 overlaps live video area 908 such that posted commentsare displayed over live video 914. Posted comments may include text 906,images 920, and symbols or glyphs 922.

Broadcaster interface 912A may further include a camera (switch) option924 by which the first client user may select among multiple camerasintegrated onto client system 910 through which to capture live video914. A live indicator 926, which may take any appropriate form, providesan indication of when a broadcasting session is active. Similarly, aselectable finish option 928 provides a mechanism by which the firstclient user may stop/end the broadcast session (i.e. stop broadcastinglive video 914).

Additionally, a viewer count 930 may provide a real-time, running countof the number of viewers (i.e. second client users) currently viewingthe broadcast of live video 914. Viewer count 930 may provide anindication for controlling when a sponsored content item may be providedto viewers of live video 914. For example, broadcaster interface 912Ashows a sponsored option 934, which the first client user may selectduring the broadcasting of live video 914 to indicate to the servercomputing machine that a sponsored content item should bedisplayed/provided to the second client users. In particularembodiments, however, sponsored option 934 may remain inactive (orhidden) within broadcaster interface 912A until viewer counter 930indicates that a predetermined minimum number of viewers (e.g. 100viewers) are currently viewing live video 914. When the minimum numberof viewers is met, then sponsored option 934 may become active (or madevisible, or otherwise altered in appearance to indicate that it isactive). By monitoring viewer count 930, the first client user mayanticipate when a sponsored content item may become available forsending to the second client users. Other conditions for displaying (oractivating) the sponsored option 934 during the broadcast of the livevideo may include, for example, if a minimum amount of time has elapsedsince the live video began or since a previous sponsored content itemwas provided, or if the first client user has a minimum number offollowers (e.g. followers on an online social network).

In response to the first client user selecting sponsored option 934 ofbroadcaster interface 912A, the broadcaster interface may be altered tobroadcaster interface 912B illustrated in FIG. 9B. All elements in FIG.9B similar to those of FIG. 9A have similar reference characters and aredescribed above. A cancel option 942 permits the first client user tocancel the current request for a sponsored content item, and to returnto the broadcaster interface 912A of FIG. 9A.

Broadcaster interface 912B further provides the first client user with achoice of multiple types of sponsored content items. For illustrativepurposes, broadcaster interface 912B shows examples of two types ofsponsored content items. A first content-type example, corresponding toa first type of sponsored content item 944, may include a combination ofaudio-and-video content, and a second content-type example,corresponding to a second type of sponsored content item 946, mayinclude only visual content. The sponsored content items correspondingto the second type of sponsored content item 946 may be one or morestill images. In broadcaster interface 912B, the first type of sponsoredcontent item 944 is illustratively labeled “Ad Break” (and may refer toa transition from a live media item (i.e. live video 914) to apre-recorded audio/video segment), and the second type of sponsoredcontent item 946 is illustratively labeled “Ad Story” (and may refer toa visual narrative, or story, portrayed in a series of still images). Inparticular embodiments, the first client user is given a reward, such asmonetary compensation, for selecting to send sponsored content items tothe second client users. The different choices of sponsored contentitems (944 and 946) may be associated with different values of reward.

As is explained above, the sponsored content items sent to individualsecond client users may be individually customized to each specificsecond client user. The customization may be based on, for example, ahistory of interactions by the individual second client user, priorpreferences provided by the individual second client user, social graphdata associated with the individual second client user, etc.

The different content-types of sponsored content items (e.g. 944 and946) may further be differentiated by how a selected content-type (944or 946) affects the broadcast of the live video 914. In the firstcontent-type example, selection of the first type of sponsored contentitem 944 may result in interrupting (or pausing) the broadcast of livevideo 914, and replacing the broadcast of live video 914 with theaudio-and-video sponsored content item of choice 944. That is, broadcastof live video 914 may cease while audio-and-video sponsored contentitems are displayed to the second client users. In some embodiments,various steps may be taken to assure that the second client users viewtheir respective sponsored content items at substantially the same time.In the second content-type example, selection of the second type ofsponsored content item 946 may result in no interruption of thebroadcast of live video 914. In this case, as is indicated by symbol948, the live video 914 may continue in a manner similar to apicture-in-picture (PIP) image on the viewer interface whilesimultaneously sending sponsored content items to the second clientusers. Both of the first content-type example and second content-typeexample are discussed in more detail, below.

To better understand the first content-type example and the secondcontent-type example, it may be beneficial to first describe the viewerinterface, as viewed by the second client users, prior to receiving anysponsored content item, and to then describe how the broadcasterinterface and viewer interface may change during the sending ofdifferent types of sponsored content items.

FIG. 10 shows an example client system 1410, as used by a second clientuser, and illustrates an example viewer interface 1012 on a screen area1416 during the receiving of live video 914 and prior to receiving asponsored content item. As is explained above, broadcaster interface912A of FIG. 9A, during the broadcasting of live video 914, shows what asecond client user is may see on viewer interface 1012 while receivingthe broadcast of video 914. Thus, broadcaster interface 912A and viewerinterface 1012 have several elements in common. Elements in FIG. 10similar to those of FIG. 9A have similar reference characters and aredescribed above. Viewer interface 1012 of FIG. 10 differs frombroadcaster interface 912A in that viewer interface 1012 provides ashare option 1013, by which a second client user may share informationrelated to live video 914 with friends of the second client user on thesocial-networking system. Viewer interface 1012 further provides acomments windows 1015 through which the second client user may post orsubmit comments. Additionally, the second client user may further submita “like” vote via a first glyph option 1017 or a “dislike” vote via asecond a glyph option 1019.

Live Media-Item Transitions

The following is an example of interrupting a live video broadcast toprovide a sponsored content item to second client users. In the presentexample, the sponsored content item may include both visual and audiocomponents. In particular embodiments, a server computing machine (e.g.,a social-networking system 160) may provide an interface operable topermit the first client user (of a first client system 130) to broadcasta live video to one or more second client systems 130 of one or moresecond client users. In response to receiving an indication that thefirst client user, while broadcasting the live video, selected an optionwithin the interface to display a sponsored content item, the servercomputing machine 160 may start loading the sponsored content item(e.g., a media item such as video, still image, or audio) to the one ormore second client systems 130 while the broadcasting of live video isstill ongoing. While loading the sponsored content item to the one ormore second client systems 130 of one or more second client users, theserver computing machine 160 may inform the first client user (such asvia the interface) that loading of the sponsored content item is ongoingeven while the broadcast of the live video is active. After loading thesponsored content item to the one or more client systems (of the secondclient user), the server computing machine may inform the one or moresecond users that the sponsored content item will soon be displayed. Theserver computing machine may then signal all the loaded sponsoredcontent items to start playing at substantially the same time on thesecond client systems 130.

Returning to FIG. 9B, in response to the first client user selecting thefirst type of sponsored content item 944 (indicating that the firstclient user wishes to interrupt the live video broadcast and send anaudio-and-video sponsored content item to the second client users), thebroadcaster interface 912B may change to broadcaster interface 1112A ofFIG. 11A. As is explained above, in embodiments, each of the secondclient users may receive a different sponsored content item (all beingof the first type of sponsored content item, in the present example)individually selected for each second client user, and thus the firstclient user may be unaware of the specific sponsored content item sentto each individual second client user. However, since the broadcastingof the live video 914 ceases while the second client users are watchingtheir respective sponsored content item, it is beneficial to synchronizethe watching of sponsored content items by second client users in orderto assure that the second client users experience the ceasing andresuming of the broadcast of the live video 914 at substantially thesame time.

In some embodiments, the server computing machine responds to receivingan indication that the first client user selected the first type ofsponsored content item 944 by individually loading a sponsored contentitem to each client system 1410 (see FIG. 10) of each second client userwhile the broadcasting of live video 914 is still active (ongoing).During this time, the second client users may be unaware of the loadingof their respective sponsored content item. After the individuallyselected sponsored content items have been loaded onto the clientsystems 1410, the server computing machine will synchronize thedisplaying of the loaded sponsored content items to the respectivesecond client users.

The server computing machine may further respond to receiving theindication that the first client user selected the first type ofsponsored content item 944 by having the broadcaster interface 1112Adisplay a message 1141 (or other indicator) informing the first clientuser that an ad break is being prepared (i.e., the sponsored contentitems are being loaded to the client systems 1410 of the second clientusers), and that the first client user is still live and connected withthe second client users. In this manner the first client user maycontinue to broadcast the live video 914 while waiting for the start ofthe ad break. Additionally, broadcaster interface 1112A may display aload-progress indicator 1143 indicating a progress of loading thesponsored content items to the client systems 1410 of the second clientusers. The load-progress indictor 1143 may take the form of a progressbar (or other progression-indicating display) or a percentage valueindicating a percent of client systems 1410 to which their respectivesponsored content items have been loaded, or to which their respectivesponsored content have not yet been loaded.

In embodiments, the live video includes a visual component and an audiocomponent, and once the loading of the sponsored content item to theclient systems 1410 of the second client users has finished,broadcasting of the live video, or of the visual component of the livevideo, ceases and the first client user is informed of the imminentstart of the ad break prior to the start of the ad break.

FIG. 11B illustrates an example broadcaster interface 1112B immediatelyprior to the start of the ad break. As examples of how broadcasterinterface 1112B may inform the first client user that the start of thead break is imminent, the display of the live video may be removed fromscreen area 916 (since broadcasting of the live video, or the visualcomponent of the live video, has ceased) and replaced with a smaller,optionally still, image 1131 associated with the first client user.Optionally, a break timer (or other time-lapse indicator) 1133 may bedisplayed indicating an amount of time left until the broadcast of thelive video resumes. To assure accuracy of break timer 1133, thesponsored content items loaded in the client systems 1410 of the secondclient users are of the same predefined duration and made to start atsubstantially the same time. Optionally, a message 1135 may be displayedexplaining the purpose of break timer 1133. Additionally, a secondmessage 1139 and second time-lapse indicator 1137 may be displayedinforming the first client user that the ad break is imminent (startingsoon).

If the broadcast of the visual component of the live video is ceasedwhile the audio component continues to be broadcasted, another optionalindicator, such as another message, 1151 may be displayed instructingthe first client user to verbally inform the second client users thatbroadcasting of the live video will resume immediately following the endof displaying the sponsored content item. Alternatively, the servercomputing machine may send a pre-recorded audio message to the clientsystems 1410 of the second client users audibly informing them that thelive video broadcast will resume following the sponsored content item.

In some embodiments, broadcaster interface 1112B may further provide amessage 1153 informing the first client user that the camera used tocapture the live video will be off for a predefined period of timesubstantially coinciding with the display duration of the sponsoredcontent item (e.g., the duration of the ad break), and that the secondclient users will see the sponsored content item while the camera isoff.

In embodiments, the camera used to capture the live video may remain onwhile broadcasting of the live video is ceased, or paused, during thedisplaying of the sponsored content items to the second client users.FIG. 11C illustrates a broadcaster interface 1112C wherein the cameraused to capture live video 914 remains on while broadcasting of the livevideo 914 is paused. A message 1161 may be provided to remind the firstclient user that the camera is on, but not broadcasting. The message mayfurther remind the first client user that broadcasting will resumeshortly, i.e., following the displaying of the sponsored content itemsto the second client users. In the present example, break timer 1133 maybe displayed below message 1161. Having the camera on and break timer1133 displayed permits the first client user to ensure that the subjectof live video 1114 is properly positioned within the field of view ofthe camera immediately prior to resumption of the live broadcast.

While the first client user is being shown broadcaster interface 1112Bof FIG. 11B, the second client users may be shown viewer interface 1212Aof FIG. 12A. That is, immediately prior to the start of the ad break,viewer interface 1212A is shown on the client systems 1410 of the secondclient users. Viewer interface 1212A provides an indicator, such asmessage 1239 or time-lapse indicator 1237, to indicate to the secondclient users that the start of a sponsored content item is imminent(will start soon, e.g. within two seconds). Optionally, viewer interface1212A further provides an image 1231 associated with the first clientuser, which may remind a current second client user or inform a newsecond client user just joining the broadcast of the first client user,that the sponsored content item is momentarily interrupting thebroadcast of the first client user. Optionally, a break timer (or othertime-lapse indicator) 1233 may be displayed indicating an amount of timeleft before resumption of the interrupted live video broadcast. Viewerinterface 1212A may further include a message 1235, which may bepersonalized by the first client user, reminding the second client usersthat broadcast of the live video will resume after viewing the sponsoredcontent item. During the displaying of viewer interface 1212A, theclient systems 1410 of the second client users may receive an audiomessage, either verbally broadcasted by the first client user orprerecorded and provided by the server computing machine, stating thatbroadcasting of the live video will resume following the showing of asponsored content item.

FIG. 12B illustrates an example viewer interface 1212B at the start ofan example sponsored content item 1214. Break timer 1233 and a message1235 may continue to be displayed. Additionally, a symbolic indicator ofsupport 1271 or a message of support 1273 for the first client user maybe displayed. The symbolic indicator of support 1271 and message ofsupport 1273 inform the second client users that they may expresssupport for the first client user by watching the sponsored content item1214. A progress bar (or other time-lapse indicator) 1275 may beprovided indicating how much time is left until resumption of the livevideo broadcast. In the present example, a darkened area 1277 ofprogress bar 1275 indicates a percentage of the sponsored content item(time) that has already been displayed.

After a predefined amount of time, the symbolic indicator of support1271, message of support 1273, break timer 1233, and a message 1235 maybe removed, as shown in viewer interface 1212C of FIG. 12C. Progress bar1275 may further be moved to the bottom of screen area 1416 to free upmore screen space for sponsored content item 1214. Optionally, anindicator, such as a message 1283 or glyph 1281, may be provided toinform all new and current viewers that what is being currentlydisplayed is not the live video broadcast from the first client user,but a sponsored content item.

During the displaying of sponsored content items, the second clientusers may continue to interact with screen area 1416. In response to aninteraction of a second client user with screen area 1416, viewerinterface 1212D of FIG. 12D may be displayed. In this example, breaktimer 1233 and message 1235 may again be displayed to provide a currenttimer value for the remaining duration of the current sponsored contentitem. Optionally, additional information related to the sponsoredcontent item may be displayed. The additional information may include aname 1289 or a logo 1287 of the sponsor of the sponsored content item1214. Additional information may further include a message 1285 (such asa website, promotion, or contextual description) from the sponsor of thesponsored content item 1214. Optionally, a selectable option 1291 forsaving (e.g., recording, or saving a link to) the sponsored content item1214 being provided.

As shown in viewer interface 1212E of FIG. 12E a feedback indicator 1293may be displayed in response to a second client user selecting option1291. Afterwards, the viewer interface may return to the viewerinterface 1212C of FIG. 12C, but with a current progress bar 1275 beingdisplayed, as illustratively shown in viewer interface 1212F of FIG.12F.

As illustrated in viewer interface 1212G of FIG. 12G, display ofsponsored content item 1214 may be removed a predetermined time (e.g. afew seconds) prior to resuming the live video broadcast. In this case,the break timer 1233 and message 1235 may again be displayed to informthe second client user of the imminent resumption of broadcasting thelive video. This establishes a warning period to alert the second clientuser to the resumption of broadcasting the live video. During thiswarning period, identification information (such as logo 1287 or name1289) of the sponsor of the sponsored content item that just ended maybe displayed. When break counter 1233, or progress bar 1275, indicatesthat the break time has ended, the viewer interface may return to viewerinterface 1012 of FIG. 10 with resumption of receiving the broadcast oflive video 914.

FIG. 13 illustrates an example method for preloading sponsored contentitems during a broadcast of a live video to assure coincident displayingof sponsored content items to multiple viewers. The method may begin atstep 1312, where the server computing machine provides an interfaceoperable to permit the first (client) user to broadcast a live video toone or more client systems of one or more second (client) users. In step1314, the server computing machine responds to receiving an indicationthat the first user, while broadcasting the live video, selected anoption within the interface to display a sponsored content item, byproceeding to step 1316, where the server computing machine startsloading the sponsored content item to the one or more client systems ofone or more second users during the broadcasting of live video. At step1318, while loading the sponsored content item to the one or more clientsystems of one or more second users, the server computing machineinforms the first user that loading of the sponsored content item isongoing even while the live video is still being broadcasted. At step1320, after loading the sponsored content item to the one or more clientsystems of one or more second users, the server computing machineinforms the one or more second users that display of the sponsoredcontent item to the one or more second users is imminent.

Particular embodiments may repeat one or more steps of the method ofFIG. 13, where appropriate. Although this disclosure describes andillustrates particular steps of the method of FIG. 13 as occurring in aparticular order, this disclosure contemplates any suitable steps of themethod of FIG. 13 occurring in any suitable order.

Sponsored-Content Item Stories for Live Media Items

As is explained above, the media item that a server computing machinesends to a client computing device (or client system) may be apre-recorded or pre-generated media item (such as in the form of anewsfeed), or may be a live-stream (e.g. a live video broadcast). In thepreceding example, the first client user pauses the live video broadcastwhile the second client users view a sponsored content item, which mayinclude audio-and-video components. The following is a second example,wherein the first client user sends a sponsored content item to secondclient users (viewers) without interrupting the live video broadcast. Inthis case, the sent sponsored content item may consist of visualcomponents only (e.g., images without sound). In this example, a servercomputing machine (e.g., a social-networking system 160) may againprovide an interface operable to permit the first client user tobroadcast a live video to one or more second client users. In responseto the server computing machine receiving an indication that the firstclient user selected an option within the interface to display asponsored content item while broadcasting the live video, the servercomputing machine (e.g., the social-networking system 160) may reducethe image size of the live video, and superimpose the live video ofreduced size on the sponsored content item to define a combined image.Alternatively, in particular embodiments, the sponsored content item maybe superimposed on the live video of reduced size. The combined imagemay have a sponsored portion on which the sponsored content item isdisplayed and a live portion on which the live video of reduced size isdisplayed. The server computing machine may then send the combined imagefor display to the one or more second client users (such as on clientsystems 130 of the one or more second client users), by which the secondclient users may simultaneously receive the sponsored content item andthe broadcast of the live video.

Returning to FIG. 9B, in response to the first client user selecting thesecond type of sponsored content item 946 (indicating that the firstclient user wishes to send a sponsored content item to the second clientusers while also maintaining the broadcast of live video 914 active),the server computing machine reduces the image size of the live video914 and superimposes the live video 914 of reduced size on the sponsoredcontent item to define a combined image having a sponsored portion onwhich the sponsored content item is displayed and a live portion onwhich the live video of reduced size is displayed. The combined image isthen sent for display to the second client users.

FIG. 14A Illustrates an example viewer interface 1412A of a secondclient user during the receiving of the combined image (i.e. during thesimultaneously rendering of live video 914 and a sponsored content item1414). As shown, viewer interface 1412A divides a screen area 1416 ofthe second client users' client system 1410 into the sponsored portion1418, which displays the sponsored content item 1414, and the liveportion 1420, which displays the live video 914.

Viewer interface 1412A permits the second client user to interact withboth the sponsored portion 1418 and the live portion 1420. A Learn Moreoption 1422 permits the second client user to obtain additionalinformation (such as a website, promotion, contextual description, etc.)related to the sponsored content item being displayed. Alternatively,the second client user may choose to end the sponsored content item 1414by selecting an end option 1424, and returning to a full-screen view oflive video 914.

In particular embodiments, the second client user may switch amongmultiple different sponsored content items, while continuing to viewlive video 914. For example, viewer interface 1412A may provide an itemindicator 1426 to keep track of different sponsored content itemsdisplayed in sponsored portion 1418.

As is illustrated in FIG. 14B, in particular embodiments, the secondclient user may alter the size of live portion 1420. The client user mayincrease or decrease the size of live portion 1420 using any suitablemethod, such as by tapping on it, dragging a corner/side of it, etc.

Alternatively, the second client user may choose to remove live portion1420 of screen area 1416, and thereby obtain a larger view of thesponsored content item. As is illustrated in FIG. 14C, live portion 1420may be removed by swiping it out of screen area 1416, or by any othersuitable method such as tapping a predefined area of live portion 1420or reducing the size of live portion 1420 below a predefined value. Itis noted that live video 914 includes a live audio component, and thatthe server computing machine may continue to broadcast the live audiocomponent to client system 1410 even after live portion 1420 is removedfrom screen area 1416. In some embodiments, in response to live portion1420 being removed from screen area 1416, viewer interface 1412C mayprovide a broadcast indicator 1430 informing the second client user thatthe live video broadcast is still being received, even if the live imagecomponent of the live video 914 is not being displayed. Optionally, thebroadcast indicator 1430 may provide an audio indicator 1432 informingthe second client user that the live audio component of live video 914continues to be received. Audio indicator 1432 may be a graphic of musicequalizer sound bars.

As stated above, in particular embodiments, the second client user mayswitch among multiple different sponsored content items. This may beachieved, for example by swiping across a predefined portion ofsponsored portion 1418. FIG. 14D illustrates viewer interface 1412Dfollowing a change of sponsored content item from the example of FIG.14C. As shown, a different sponsored content item 1414D is displayedwithin sponsored portion 1418. Additionally, a darken area 1428 of itemindicator 1426 is progressed downward to indicate the transition fromsponsored content item 1414 of FIG. 14C to the sponsored content item1414D of FIG. 14D.

Returning to FIG. 9B, in response to the first client user selecting thesecond type of sponsored content item 946, the broadcaster interface912B may transition to broadcaster interface 1512A illustrated in FIG.15A. Optionally, broadcaster interface 1512A alters sponsored option934, such as by darkening it, to indicate that it has already beenselected. Additionally, a message 962 may be provided informing thefirst client user that the broadcast of live video 914 is still activewhile the second client users view their respective sponsored contentitems. Optionally, a counter 964 may be provided to indicate how manysecond client users are still actively viewing their respectivesponsored content items. Alternatively, if the display of sponsoredcontent items has a time duration limit, then counter 964 may provide acount-down timer to the end of the sponsored content items.

Additionally, the first client user may choose to end the transmissionof sponsored content items by selecting finish option 928. For example,if viewer count 930 indicates a drastic reduction of viewers during theproviding of a sponsored content item, the first client user may chooseto end the providing of the sponsored content item early, and therebyavoid losing more viewers. Optionally, finish option 928 may initiallybe inactive, and become active only after a predefined duration of timefollowing the start of a sponsored content item.

FIG. 15B illustrates an optional broadcaster interface 1512B that may bedisplayed in response to the first client user selecting the finishoption 928. In the present case, the first client user may be presentedwith a cancel option 972 to avoid terminating the sponsored content itemand return to the broadcaster interface 1512A of FIG. 15A.Alternatively, a confirmation option 974 permits the first client userto confirm the termination of the sponsored content items being sent tothe second client users.

FIG. 16 illustrates an example method for providing sponsored contentitems during live videos without interrupting the live videos. Themethod may begin at step 1612, where the server computing machineprovides an interface operable to permit the first (client) user tobroadcast a live video to one or more second (client) users. In step1614, the server computing machine responds to receiving an indicationthat a first user selected an option to display a sponsored contentitem, by proceeding to step 1616, where the image size of the live videois reduced. At step 1618, the live video of reduced size is combinedwith the sponsored content item to define a combined image having asponsored portion on which the sponsored content item is displayed, anda live portion on which the live video of reduced size is displayed. Atstep 1620, the combined image is sent for display to the one or moresecond (client) users.

Particular embodiments may repeat one or more steps of the method ofFIG. 16, where appropriate. Although this disclosure describes andillustrates particular steps of the method of FIG. 16 as occurring in aparticular order, this disclosure contemplates any suitable steps of themethod of FIG. 16 occurring in any suitable order.

In particular embodiments, the social-networking system 160 maydetermine the social-graph affinity (which may be referred to herein as“affinity”) of various social-graph entities for each other. Affinitymay represent the strength of a relationship or level of interestbetween particular objects associated with the online social network,such as users, concepts, content, actions, advertisements, other objectsassociated with the online social network, or any suitable combinationthereof. Affinity may also be determined with respect to objectsassociated with third-party systems 170 or other suitable systems. Anoverall affinity for a social-graph entity for each user, subjectmatter, or type of content may be established. The overall affinity maychange based on continued monitoring of the actions or relationshipsassociated with the social-graph entity. Although this disclosuredescribes determining particular affinities in a particular manner, thisdisclosure contemplates determining any suitable affinities in anysuitable manner.

In particular embodiments, the social-networking system 160 may measureor quantify social-graph affinity using an affinity coefficient (whichmay be referred to herein as “coefficient”). The coefficient mayrepresent or quantify the strength of a relationship between particularobjects associated with the online social network. The coefficient mayalso represent a probability or function that measures a predictedprobability that a user will perform a particular action based on theuser's interest in the action. In this way, a user's future actions maybe predicted based on the user's prior actions, where the coefficientmay be calculated at least in part on the history of the user's actions.Coefficients may be used to predict any number of actions, which may bewithin or outside of the online social network. As an example and not byway of limitation, these actions may include various types ofcommunications, such as sending messages, posting content, or commentingon content; various types of observation actions, such as accessing orviewing profile interfaces, media, or other suitable content; varioustypes of coincidence information about two or more social-graphentities, such as being in the same group, tagged in the samephotograph, checked-in at the same location, or attending the sameevent; or other suitable actions. Although this disclosure describesmeasuring affinity in a particular manner, this disclosure contemplatesmeasuring affinity in any suitable manner.

In particular embodiments, the social-networking system 160 may use avariety of factors to calculate a coefficient. These factors mayinclude, for example, user actions, types of relationships betweenobjects, location information, other suitable factors, or anycombination thereof. In particular embodiments, different factors may beweighted differently when calculating the coefficient. The weights foreach factor may be static or the weights may change according to, forexample, the user, the type of relationship, the type of action, theuser's location, and so forth. Ratings for the factors may be combinedaccording to their weights to determine an overall coefficient for theuser. As an example and not by way of limitation, particular useractions may be assigned both a rating and a weight while a relationshipassociated with the particular user action is assigned a rating and acorrelating weight (e.g., so the weights total 100%). To calculate thecoefficient of a user towards a particular object, the rating assignedto the user's actions may comprise, for example, 60% of the overallcoefficient, while the relationship between the user and the object maycomprise 40% of the overall coefficient. In particular embodiments, thesocial-networking system 160 may consider a variety of variables whendetermining weights for various factors used to calculate a coefficient,such as, for example, the time since information was accessed, decayfactors, frequency of access, relationship to information orrelationship to the object about which information was accessed,relationship to social-graph entities connected to the object, short- orlong-term averages of user actions, user feedback, other suitablevariables, or any combination thereof. As an example and not by way oflimitation, a coefficient may include a decay factor that causes thestrength of the signal provided by particular actions to decay withtime, such that more recent actions are more relevant when calculatingthe coefficient. The ratings and weights may be continuously updatedbased on continued tracking of the actions upon which the coefficient isbased. Any type of process or algorithm may be employed for assigning,combining, averaging, and so forth the ratings for each factor and theweights assigned to the factors. In particular embodiments, thesocial-networking system 160 may determine coefficients usingmachine-learning algorithms trained on historical actions and past userresponses, or data farmed from users by exposing them to various optionsand measuring responses. Although this disclosure describes calculatingcoefficients in a particular manner, this disclosure contemplatescalculating coefficients in any suitable manner.

In particular embodiments, the social-networking system 160 maycalculate a coefficient based on a user's actions. The social-networkingsystem 160 may monitor such actions on the online social network, on athird-party system 170, on other suitable systems, or any combinationthereof. Any suitable type of user actions may be tracked or monitored.Typical user actions include viewing profile interfaces, creating orposting content, interacting with content, tagging or being tagged inimages, joining groups, listing and confirming attendance at events,checking-in at locations, liking particular interfaces, creatinginterfaces, and performing other tasks that facilitate social action. Inparticular embodiments, the social-networking system 160 may calculate acoefficient based on the user's actions with particular types ofcontent. The content may be associated with the online social network, athird-party system 170, or another suitable system. The content mayinclude users, profile interfaces, posts, news stories, headlines,instant messages, chat room conversations, emails, advertisements,pictures, video, music, other suitable objects, or any combinationthereof. The social-networking system 160 may analyze a user's actionsto determine whether one or more of the actions indicate an affinity forsubject matter, content, other users, and so forth. As an example andnot by way of limitation, if a user frequently posts content related to“coffee” or variants thereof, the social-networking system 160 maydetermine the user has a high coefficient with respect to the concept“coffee”. Particular actions or types of actions may be assigned ahigher weight and/or rating than other actions, which may affect theoverall calculated coefficient. As an example and not by way oflimitation, if a first user emails a second user, the weight or therating for the action may be higher than if the first user simply viewsthe user-profile interface for the second user.

In particular embodiments, the social-networking system 160 maycalculate a coefficient based on the type of relationship betweenparticular objects. Referencing the social graph 200, thesocial-networking system 160 may analyze the number and/or type of edges206 connecting particular user nodes 202 and concept nodes 204 whencalculating a coefficient. As an example and not by way of limitation,user nodes 202 that are connected by a spouse-type edge (representingthat the two users are married) may be assigned a higher coefficientthan a user nodes 202 that are connected by a friend-type edge. In otherwords, depending upon the weights assigned to the actions andrelationships for the particular user, the overall affinity may bedetermined to be higher for content about the user's spouse than forcontent about the user's friend. In particular embodiments, therelationships a user has with another object may affect the weightsand/or the ratings of the user's actions with respect to calculating thecoefficient for that object. As an example and not by way of limitation,if a user is tagged in a first photo, but merely likes a second photo,the social-networking system 160 may determine that the user has ahigher coefficient with respect to the first photo than the second photobecause having a tagged-in-type relationship with content may beassigned a higher weight and/or rating than having a like-typerelationship with content. In particular embodiments, thesocial-networking system 160 may calculate a coefficient for a firstuser based on the relationship one or more second users have with aparticular object. In other words, the connections and coefficientsother users have with an object may affect the first user's coefficientfor the object. As an example and not by way of limitation, if a firstuser is connected to or has a high coefficient for one or more secondusers, and those second users are connected to or have a highcoefficient for a particular object, the social-networking system 160may determine that the first user should also have a relatively highcoefficient for the particular object. In particular embodiments, thecoefficient may be based on the degree of separation between particularobjects. The lower coefficient may represent the decreasing likelihoodthat the first user will share an interest in content objects of theuser that is indirectly connected to the first user in the social graph200. As an example and not by way of limitation, social-graph entitiesthat are closer in the social graph 200 (i.e., fewer degrees ofseparation) may have a higher coefficient than entities that are furtherapart in the social graph 200.

In particular embodiments, the social-networking system 160 maycalculate a coefficient based on location information. Objects that aregeographically closer to each other may be considered to be more relatedor of more interest to each other than more distant objects. Inparticular embodiments, the coefficient of a user towards a particularobject may be based on the proximity of the object's location to acurrent location associated with the user (or the location of a clientsystem 130 of the user). A first user may be more interested in otherusers or concepts that are closer to the first user. As an example andnot by way of limitation, if a user is one mile from an airport and twomiles from a gas station, the social-networking system 160 may determinethat the user has a higher coefficient for the airport than the gasstation based on the proximity of the airport to the user.

In particular embodiments, the social-networking system 160 may performparticular actions with respect to a user based on coefficientinformation. Coefficients may be used to predict whether a user willperform a particular action based on the user's interest in the action.A coefficient may be used when generating or presenting any type ofobjects to a user, such as advertisements, search results, news stories,media, messages, notifications, or other suitable objects. Thecoefficient may also be utilized to rank and order such objects, asappropriate. In this way, the social-networking system 160 may provideinformation that is relevant to user's interests and currentcircumstances, increasing the likelihood that they will find suchinformation of interest. In particular embodiments, thesocial-networking system 160 may generate content based on coefficientinformation. Content objects may be provided or selected based oncoefficients specific to a user. As an example and not by way oflimitation, the coefficient may be used to generate media for the user,where the user may be presented with media for which the user has a highoverall coefficient with respect to the media object. As another exampleand not by way of limitation, the coefficient may be used to generateadvertisements for the user, where the user may be presented withadvertisements for which the user has a high overall coefficient withrespect to the advertised object. In particular embodiments, thesocial-networking system 160 may generate search results based oncoefficient information. Search results for a particular user may bescored or ranked based on the coefficient associated with the searchresults with respect to the querying user. As an example and not by wayof limitation, search results corresponding to objects with highercoefficients may be ranked higher on a search-results interface thanresults corresponding to objects having lower coefficients.

In particular embodiments, the social-networking system 160 maycalculate a coefficient in response to a request for a coefficient froma particular system or process. To predict the likely actions a user maytake (or may be the subject of) in a given situation, any process mayrequest a calculated coefficient for a user. The request may alsoinclude a set of weights to use for various factors used to calculatethe coefficient. This request may come from a process running on theonline social network, from a third-party system 170 (e.g., via an APIor other communication channel), or from another suitable system. Inresponse to the request, the social-networking system 160 may calculatethe coefficient (or access the coefficient information if it haspreviously been calculated and stored). In particular embodiments, thesocial-networking system 160 may measure an affinity with respect to aparticular process. Different processes (both internal and external tothe online social network) may request a coefficient for a particularobject or set of objects. The social-networking system 160 may provide ameasure of affinity that is relevant to the particular process thatrequested the measure of affinity. In this way, each process receives ameasure of affinity that is tailored for the different context in whichthe process will use the measure of affinity.

In connection with social-graph affinity and affinity coefficients,particular embodiments may utilize one or more systems, components,elements, functions, methods, operations, or steps disclosed in U.S.patent application Ser. No. 11/503,093, filed 11 Aug. 2006, U.S. patentapplication Ser. No. 12/977,027, filed 22 Dec. 2010, U.S. patentapplication Ser. No. 12/978,265, filed 23 Dec. 2010, and U.S. patentapplication Ser. No. 13/632,869, filed 1 Oct. 2012, each of which isincorporated by reference.

In particular embodiments, an advertisement (or a sponsored contentitem) may be text (which may be HTML-linked), one or more images (whichmay be HTML-linked), one or more videos, audio, one or more ADOBE FLASHfiles, a suitable combination of these, or any other suitableadvertisement in any suitable digital format presented on one or moreweb interfaces, in one or more e-mails, or in connection with searchresults requested by a user. In addition or as an alternative, anadvertisement may be one or more sponsored stories (e.g., a news-feed orticker item on the social-networking system 160). A sponsored story maybe a social action by a user (such as “liking” an interface, “liking” orcommenting on a post on an interface, RSVPing to an event associatedwith an interface, voting on a question posted on an interface, checkingin to a place, using an application or playing a game, or “liking” orsharing a website) that an advertiser promotes, for example, by havingthe social action presented within a pre-determined area of a profileinterface of a user or other interface, presented with additionalinformation associated with the advertiser, bumped up or otherwisehighlighted within news feeds or tickers of other users, or otherwisepromoted. The advertiser may pay to have the social action promoted. Asan example and not by way of limitation, advertisements may be includedamong the search results of a search-results interface, where sponsoredcontent is promoted over non-sponsored content.

In particular embodiments, an advertisement may be requested for displaywithin social-networking-system web interfaces, third-party webinterfaces, or other interfaces. An advertisement may be displayed in adedicated portion of an interface, such as in a banner area at the topof the interface, in a column at the side of the interface, in a GUIwithin the interface, in a pop-up window, in a drop-down menu, in aninput field of the interface, over the top of content of the interface,or elsewhere with respect to the interface. In addition or as analternative, an advertisement may be displayed within an application. Anadvertisement may be displayed within dedicated interfaces, requiringthe user to interact with or watch the advertisement before the user mayaccess an interface or utilize an application. The user may, for exampleview the advertisement through a web browser.

A user may interact with an advertisement in any suitable manner. Theuser may click or otherwise select the advertisement. By selecting theadvertisement, the user may be directed to (or a browser or otherapplication being used by the user) an interface associated with theadvertisement. At the interface associated with the advertisement, theuser may take additional actions, such as purchasing a product orservice associated with the advertisement, receiving informationassociated with the advertisement, or subscribing to a newsletterassociated with the advertisement. An advertisement with audio or videomay be played by selecting a component of the advertisement (like a“play button”). Alternatively, by selecting the advertisement, thesocial-networking system 160 may execute or modify a particular actionof the user.

An advertisement may also include social-networking-system functionalitythat a user may interact with. As an example and not by way oflimitation, an advertisement may enable a user to “like” or otherwiseendorse the advertisement by selecting an icon or link associated withendorsement. As another example and not by way of limitation, anadvertisement may enable a user to search (e.g., by executing a query)for content related to the advertiser. Similarly, a user may share theadvertisement with another user (e.g., through the social-networkingsystem 160) or RSVP (e.g., through the social-networking system 160) toan event associated with the advertisement. In addition or as analternative, an advertisement may include social-networking-systemcontent directed to the user. As an example and not by way oflimitation, an advertisement may display information about a friend ofthe user within the social-networking system 160 who has taken an actionassociated with the subject matter of the advertisement.

In particular embodiments, one or more of the content objects of theonline social network may be associated with a privacy setting. Theprivacy settings (or “access settings”) for an object may be stored inany suitable manner, such as, for example, in association with theobject, in an index on an authorization server, in another suitablemanner, or any combination thereof. A privacy setting of an object mayspecify how the object (or particular information associated with anobject) can be accessed (e.g., viewed or shared) using the online socialnetwork. Where the privacy settings for an object allow a particularuser to access that object, the object may be described as being“visible” with respect to that user. As an example and not by way oflimitation, a user of the online social network may specify privacysettings for a user-profile interface that identify a set of users thatmay access the work experience information on the user-profileinterface, thus excluding other users from accessing the information. Inparticular embodiments, the privacy settings may specify a “blockedlist” of users that should not be allowed to access certain informationassociated with the object. In other words, the blocked list may specifyone or more users or entities for which an object is not visible. As anexample and not by way of limitation, a user may specify a set of usersthat may not access photos albums associated with the user, thusexcluding those users from accessing the photo albums (while alsopossibly allowing certain users not within the set of users to accessthe photo albums). In particular embodiments, privacy settings may beassociated with particular social-graph elements. Privacy settings of asocial-graph element, such as a node or an edge, may specify how thesocial-graph element, information associated with the social-graphelement, or content objects associated with the social-graph element canbe accessed using the online social network. As an example and not byway of limitation, a particular concept node 204 corresponding to aparticular photo may have a privacy setting specifying that the photomay only be accessed by users tagged in the photo and their friends. Inparticular embodiments, privacy settings may allow users to opt in oropt out of having their actions logged by the social-networking system160 or shared with other systems (e.g., a third-party system 170). Inparticular embodiments, the privacy settings associated with an objectmay specify any suitable granularity of permitted access or denial ofaccess. As an example and not by way of limitation, access or denial ofaccess may be specified for particular users (e.g., only me, myroommates, and my boss), users within a particular degrees-of-separation(e.g., friends, or friends-of-friends), user groups (e.g., the gamingclub, my family), user networks (e.g., employees of particularemployers, students or alumni of particular university), all users(“public”), no users (“private”), users of third-party systems 170,particular applications (e.g., third-party applications, externalwebsites), other suitable users or entities, or any combination thereof.Although this disclosure describes using particular privacy settings ina particular manner, this disclosure contemplates using any suitableprivacy settings in any suitable manner.

In particular embodiments, one or more servers 162 may beauthorization/privacy servers for enforcing privacy settings. Inresponse to a request from a user (or other entity) for a particularobject stored in a data store 164, the social-networking system 160 maysend a request to the data store 164 for the object. The request mayidentify the user associated with the request and may only be sent tothe user (or a client system 130 of the user) if the authorizationserver determines that the user is authorized to access the object basedon the privacy settings associated with the object. If the requestinguser is not authorized to access the object, the authorization servermay prevent the requested object from being retrieved from the datastore 164, or may prevent the requested object from being sent to theuser. In the search query context, an object may only be generated as asearch result if the querying user is authorized to access the object.In other words, the object must have a visibility that is visible to thequerying user. If the object has a visibility that is not visible to theuser, the object may be excluded from the search results. Although thisdisclosure describes enforcing privacy settings in a particular manner,this disclosure contemplates enforcing privacy settings in any suitablemanner.

FIG. 17 illustrates an example computer system 1700. In particularembodiments, one or more computer systems 1700 perform one or more stepsof one or more methods described or illustrated herein. In particularembodiments, one or more computer systems 1700 provide functionalitydescribed or illustrated herein. In particular embodiments, softwarerunning on one or more computer systems 1700 performs one or more stepsof one or more methods described or illustrated herein or providesfunctionality described or illustrated herein. Particular embodimentsinclude one or more portions of one or more computer systems 1700.Herein, reference to a computer system may encompass a computing device,and vice versa, where appropriate. Moreover, reference to a computersystem may encompass one or more computer systems, where appropriate.

This disclosure contemplates any suitable number of computer systems1700. This disclosure contemplates computer system 1700 taking anysuitable physical form. As example and not by way of limitation,computer system 1700 may be an embedded computer system, asystem-on-chip (SOC), a single-board computer system (SBC) (such as, forexample, a computer-on-module (COM) or system-on-module (SOM)), adesktop computer system, a laptop or notebook computer system, aninteractive kiosk, a mainframe, a mesh of computer systems, a mobiletelephone, a personal digital assistant (PDA), a server, a tabletcomputer system, or a combination of two or more of these. Whereappropriate, computer system 1700 may include one or more computersystems 1700; be unitary or distributed; span multiple locations; spanmultiple machines; span multiple data centers; or reside in a cloud,which may include one or more cloud components in one or more networks.Where appropriate, one or more computer systems 1700 may perform withoutsubstantial spatial or temporal limitation one or more steps of one ormore methods described or illustrated herein. As an example and not byway of limitation, one or more computer systems 1700 may perform in realtime or in batch mode one or more steps of one or more methods describedor illustrated herein. One or more computer systems 1700 may perform atdifferent times or at different locations one or more steps of one ormore methods described or illustrated herein, where appropriate.

In particular embodiments, computer system 1700 includes a processor1702, memory 1704, storage 1706, an input/output (I/O) interface 1708, acommunication interface 1710, and a bus 1712. Although this disclosuredescribes and illustrates a particular computer system having aparticular number of particular components in a particular arrangement,this disclosure contemplates any suitable computer system having anysuitable number of any suitable components in any suitable arrangement.

In particular embodiments, processor 1702 includes hardware forexecuting instructions, such as those making up a computer program. Asan example and not by way of limitation, to execute instructions,processor 1702 may retrieve (or fetch) the instructions from an internalregister, an internal cache, memory 1704, or storage 1706; decode andexecute them; and then write one or more results to an internalregister, an internal cache, memory 1704, or storage 1706. In particularembodiments, processor 1702 may include one or more internal caches fordata, instructions, or addresses. This disclosure contemplates processor1702 including any suitable number of any suitable internal caches,where appropriate. As an example and not by way of limitation, processor1702 may include one or more instruction caches, one or more datacaches, and one or more translation lookaside buffers (TLBs).Instructions in the instruction caches may be copies of instructions inmemory 1704 or storage 1706, and the instruction caches may speed upretrieval of those instructions by processor 1702. Data in the datacaches may be copies of data in memory 1704 or storage 1706 forinstructions executing at processor 1702 to operate on; the results ofprevious instructions executed at processor 1702 for access bysubsequent instructions executing at processor 1702 or for writing tomemory 1704 or storage 1706; or other suitable data. The data caches mayspeed up read or write operations by processor 1702. The TLBs may speedup virtual-address translation for processor 1702. In particularembodiments, processor 1702 may include one or more internal registersfor data, instructions, or addresses. This disclosure contemplatesprocessor 1702 including any suitable number of any suitable internalregisters, where appropriate. Where appropriate, processor 1702 mayinclude one or more arithmetic logic units (ALUs); be a multi-coreprocessor; or include one or more processors 1702. Although thisdisclosure describes and illustrates a particular processor, thisdisclosure contemplates any suitable processor.

In particular embodiments, memory 1704 includes main memory for storinginstructions for processor 1702 to execute or data for processor 1702 tooperate on. As an example and not by way of limitation, computer system1700 may load instructions from storage 1706 or another source (such as,for example, another computer system 1700) to memory 1704. Processor1702 may then load the instructions from memory 1704 to an internalregister or internal cache. To execute the instructions, processor 1702may retrieve the instructions from the internal register or internalcache and decode them. During or after execution of the instructions,processor 1702 may write one or more results (which may be intermediateor final results) to the internal register or internal cache. Processor1702 may then write one or more of those results to memory 1704. Inparticular embodiments, processor 1702 executes only instructions in oneor more internal registers or internal caches or in memory 1704 (asopposed to storage 1706 or elsewhere) and operates only on data in oneor more internal registers or internal caches or in memory 1704 (asopposed to storage 1706 or elsewhere). One or more memory buses (whichmay each include an address bus and a data bus) may couple processor1702 to memory 1704. Bus 1712 may include one or more memory buses, asdescribed below. In particular embodiments, one or more memorymanagement units (MMUs) reside between processor 1702 and memory 1704and facilitate accesses to memory 1704 requested by processor 1702. Inparticular embodiments, memory 1704 includes random access memory (RAM).This RAM may be volatile memory, where appropriate. Where appropriate,this RAM may be dynamic RAM (DRAM) or static RAM (SRAM). Moreover, whereappropriate, this RAM may be single-ported or multi-ported RAM. Thisdisclosure contemplates any suitable RAM. Memory 1704 may include one ormore memories 1704, where appropriate. Although this disclosuredescribes and illustrates particular memory, this disclosurecontemplates any suitable memory.

In particular embodiments, storage 1706 includes mass storage for dataor instructions. As an example and not by way of limitation, storage1706 may include a hard disk drive (HDD), a floppy disk drive, flashmemory, an optical disc, a magneto-optical disc, magnetic tape, or aUniversal Serial Bus (USB) drive or a combination of two or more ofthese. Storage 1706 may include removable or non-removable (or fixed)media, where appropriate. Storage 1706 may be internal or external tocomputer system 1700, where appropriate. In particular embodiments,storage 1706 is non-volatile, solid-state memory. In particularembodiments, storage 1706 includes read-only memory (ROM). Whereappropriate, this ROM may be mask-programmed ROM, programmable ROM(PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM),electrically alterable ROM (EAROM), or flash memory or a combination oftwo or more of these. This disclosure contemplates mass storage 1706taking any suitable physical form. Storage 1706 may include one or morestorage control units facilitating communication between processor 1702and storage 1706, where appropriate. Where appropriate, storage 1706 mayinclude one or more storages 1706. Although this disclosure describesand illustrates particular storage, this disclosure contemplates anysuitable storage.

In particular embodiments, I/O interface 1708 includes hardware,software, or both, providing one or more interfaces for communicationbetween computer system 1700 and one or more I/O devices. Computersystem 1700 may include one or more of these I/O devices, whereappropriate. One or more of these I/O devices may enable communicationbetween a person and computer system 1700. As an example and not by wayof limitation, an I/O device may include a keyboard, keypad, microphone,monitor, mouse, printer, scanner, speaker, still camera, stylus, tablet,touch screen, trackball, video camera, another suitable I/O device or acombination of two or more of these. An I/O device may include one ormore sensors. This disclosure contemplates any suitable I/O devices andany suitable I/O interfaces 1708 for them. Where appropriate, I/Ointerface 1708 may include one or more device or software driversenabling processor 1702 to drive one or more of these I/O devices. I/Ointerface 1708 may include one or more I/O interfaces 1708, whereappropriate. Although this disclosure describes and illustrates aparticular I/O interface, this disclosure contemplates any suitable I/Ointerface.

In particular embodiments, communication interface 1710 includeshardware, software, or both providing one or more interfaces forcommunication (such as, for example, packet-based communication) betweencomputer system 1700 and one or more other computer systems 1700 or oneor more networks. As an example and not by way of limitation,communication interface 1710 may include a network interface controller(NIC) or network adapter for communicating with an Ethernet or otherwire-based network or a wireless NIC (WNIC) or wireless adapter forcommunicating with a wireless network, such as a WI-FI network. Thisdisclosure contemplates any suitable network and any suitablecommunication interface 1710 for it. As an example and not by way oflimitation, computer system 1700 may communicate with an ad hoc network,a personal area network (PAN), a local area network (LAN), a wide areanetwork (WAN), a metropolitan area network (MAN), or one or moreportions of the Internet or a combination of two or more of these. Oneor more portions of one or more of these networks may be wired orwireless. As an example, computer system 1700 may communicate with awireless PAN (WPAN) (such as, for example, a BLUETOOTH WPAN), a WI-FInetwork, a WI-MAX network, a cellular telephone network (such as, forexample, a Global System for Mobile Communications (GSM) network), orother suitable wireless network or a combination of two or more ofthese. Computer system 1700 may include any suitable communicationinterface 1710 for any of these networks, where appropriate.Communication interface 1710 may include one or more communicationinterfaces 1710, where appropriate. Although this disclosure describesand illustrates a particular communication interface, this disclosurecontemplates any suitable communication interface.

In particular embodiments, bus 1712 includes hardware, software, or bothcoupling components of computer system 1700 to each other. As an exampleand not by way of limitation, bus 1712 may include an AcceleratedGraphics Port (AGP) or other graphics bus, an Enhanced Industry StandardArchitecture (EISA) bus, a front-side bus (FSB), a HYPERTRANSPORT (HT)interconnect, an Industry Standard Architecture (ISA) bus, an INFINIBANDinterconnect, a low-pin-count (LPC) bus, a memory bus, a Micro ChannelArchitecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, aPCI-Express (PCIe) bus, a serial advanced technology attachment (SATA)bus, a Video Electronics Standards Association local (VLB) bus, oranother suitable bus or a combination of two or more of these. Bus 1712may include one or more buses 1712, where appropriate. Although thisdisclosure describes and illustrates a particular bus, this disclosurecontemplates any suitable bus or interconnect.

Herein, a computer-readable non-transitory storage medium or media mayinclude one or more semiconductor-based or other integrated circuits(ICs) (such, as for example, field-programmable gate arrays (FPGAs) orapplication-specific ICs (ASICs)), hard disk drives (HDDs), hybrid harddrives (HHDs), optical discs, optical disc drives (ODDs),magneto-optical discs, magneto-optical drives, floppy diskettes, floppydisk drives (FDDs), magnetic tapes, solid-state drives (SSDs),RAM-drives, SECURE DIGITAL cards or drives, any other suitablecomputer-readable non-transitory storage media, or any suitablecombination of two or more of these, where appropriate. Acomputer-readable non-transitory storage medium may be volatile,non-volatile, or a combination of volatile and non-volatile, whereappropriate.

Herein, “or” is inclusive and not exclusive, unless expressly indicatedotherwise or indicated otherwise by context. Therefore, herein, “A or B”means “A, B, or both,” unless expressly indicated otherwise or indicatedotherwise by context. Moreover, “and” is both joint and several, unlessexpressly indicated otherwise or indicated otherwise by context.Therefore, herein, “A and B” means “A and B, jointly or severally,”unless expressly indicated otherwise or indicated otherwise by context.

The scope of this disclosure encompasses all changes, substitutions,variations, alterations, and modifications to the example embodimentsdescribed or illustrated herein that a person having ordinary skill inthe art would comprehend. The scope of this disclosure is not limited tothe example embodiments described or illustrated herein. Moreover,although this disclosure describes and illustrates respectiveembodiments herein as including particular components, elements,feature, functions, operations, or steps, any of these embodiments mayinclude any combination or permutation of any of the components,elements, features, functions, operations, or steps described orillustrated anywhere herein that a person having ordinary skill in theart would comprehend. Furthermore, reference in the appended claims toan apparatus or system or a component of an apparatus or system beingadapted to, arranged to, capable of, configured to, enabled to, operableto, or operative to perform a particular function encompasses thatapparatus, system, component, whether or not it or that particularfunction is activated, turned on, or unlocked, as long as thatapparatus, system, or component is so adapted, arranged, capable,configured, enabled, operable, or operative. Additionally, although thisdisclosure describes or illustrates particular embodiments as providingparticular advantages, particular embodiments may provide none, some, orall of these advantages.

1. A method comprising, by one or more computing systems: sending amedia item to a client computing device of a user; determining aninterest level of the user for the media item, wherein the interestlevel is determined based at least on a duration of time for which themedia item is played on the client computing device; and if the interestlevel of the user is greater than a threshold interest level: sending,to the client computing device, a sponsored-content indicator indicatingthat a sponsored content item will be presented; and causing thesponsored content item to be presented on the client computing device.2. The method of claim 1, wherein the interest level of the user isfurther determined based on social-graph information, the social-graphinformation being determined by: accessing a social graph of an onlinesocial network, the social graph comprising a plurality of nodes and aplurality of edges connecting the nodes, each of the edges between twoof the nodes representing a single degree of separation between the twonodes, the nodes comprising: a first node corresponding to the firstuser; and a plurality of second nodes that each correspond to a seconduser or a concept.
 3. The method of claim 2, wherein the social-graphinformation comprises information about a number of degrees ofseparation between the first node and a second node associated with themedia item.
 4. The method of claim 2, further comprising: determining anaffinity level of the user for the sponsored content item, wherein theaffinity level of the user is determined based on a number of degrees ofseparation between the first node and a second node associated with thesponsored content item; and adjusting the interest level of the userbased on the affinity level of the user.
 5. The method of claim 1,wherein the interest level of the user is further based on demographicalinformation of the user.
 6. The method of claim 1, wherein the interestlevel of the user is further based on historical usage patterns of theuser with respect to previous presentations of sponsored content itemswithin media items.
 7. The method of claim 1, wherein the interest levelof the user is further based on one or more topics associated with themedia item.
 8. The method of claim 1, wherein, if the interest level ofthe user is not greater than a threshold interest level: forgoingpresentation of the sponsored content item on the client computingdevice.
 9. The method of claim 1, further comprising: if the interestlevel is greater than the threshold interest level, sending thesponsored content item to the client computing device; else, not sendingthe sponsored content item to the client computing device.
 10. Themethod of claim 1, wherein the sponsored content item is presented atone of a plurality of potential sponsor points in the media item. 11.The method of claim 10, wherein the potential sponsor points in themedia item are pre-determined.
 12. The method of claim 10, wherein thepotential sponsor points are dynamically determined based on thetime-point at which the threshold interest level is reached.
 13. Themethod of claim 1, wherein the sponsored-content indicator comprises auser-interface element that indicates a measure of time remaining beforethe sponsored content item is presented.
 14. The method of claim 1,further comprising: sending a returning-content indicator while thesponsored content item is playing, the returning-content indicatorindicating an amount of time remaining before the media item is resumed;and resuming playback of the media item after the amount of time lapses.15. The method of claim 14, wherein the amount of time is based on theduration of the sponsored content item.
 16. The method of claim 1,further comprising suppressing the sending of the sponsored content itemif a threshold number of sponsored content items have been presented tothe user within a specified period of time.
 17. One or morecomputer-readable non-transitory storage media embodying software thatis operable when executed to: send a media item to a client computingdevice of a user; determine an interest level of the user for the mediaitem, wherein the interest level is determined based at least on aduration of time for which the media item is played on the clientcomputing device; and if the interest level of the user is greater thana threshold interest level: send, to the client computing device, asponsored-content indicator indicating that a sponsored content itemwill be presented; and cause the sponsored content item to be presentedon the client computing device.
 18. The media of claim 17, wherein theinterest level of the user is further determined based on social-graphinformation, the social-graph information being determined by: accessinga social graph of an online social network, the social graph comprisinga plurality of nodes and a plurality of edges connecting the nodes, eachof the edges between two of the nodes representing a single degree ofseparation between the two nodes, the nodes comprising: a first nodecorresponding to the first user; and a plurality of second nodes thateach correspond to a second user or a concept.
 19. The media of claim18, wherein the software is further operable when executed to: determinean affinity level of the user for the sponsored content item, whereinthe affinity level of the user is determined based on a number ofdegrees of separation between the first node and a second nodeassociated with the sponsored content item; and adjust the interestlevel of the user based on the affinity level of the user
 20. A systemcomprising: one or more processors; and a non-transitory memory coupledto the processors comprising instructions executable by the processors,the processors operable when executing the instructions to: send a mediaitem to a client computing device of a user; determine an interest levelof the user for the media item, wherein the interest level is determinedbased at least on a duration of time for which the media item is playedon the client computing device; and if the interest level of the user isgreater than a threshold interest level: send, to the client computingdevice, a sponsored-content indicator indicating that a sponsoredcontent item will be presented; and cause the sponsored content item tobe presented on the client computing device.